RSocket Send 方法问题

caitian6 2008-01-23 11:36:03
我在S60 3RD 上写连接 PC的代码,可以连接上 PC,但一调用 Send 就出错,高手帮我看看

		        _LIT(KConnectIP,"192.168.0.216");//

const int KConnectPort = 80;//

TRequestStatus iStatus = KRequestPending;

RSocket iSocket;


RSocketServ iSocketServ;

User::LeaveIfError(iSocketServ.Connect());

TInetAddr iAddress;
if (iAddress.Input(KConnectIP) == KErrNone)
{



User::LeaveIfError(iSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp));

iAddress.SetPort(KConnectPort);

iStatus = KRequestPending;

iSocket.Connect(iAddress, iStatus);
User::WaitForRequest(iStatus);

HBufC8* pBuf = HBufC8::NewL(10);
CleanupStack::PushL(pBuf);

TPtr8 buf = pBuf->Des();
buf.Zero();
buf.Copy(_L8("DATA:"));
TDesC8 iDesC8(buf);

//调用 Send 就出错
iSocket.Send( iDesC8, 0, iStatus);
User::WaitForRequest(iStatus);


CleanupStack::PopAndDestroy( pBuf );



}


iSocket.Close();
iSocketServ.Close();

一调用 Send 就报 ESock_client 14 (描述符参数错误)
我参数那里写错了???
谢谢。。。。。。
...全文
233 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsany330 2008-05-08
  • 打赏
  • 举报
回复
太强啦,我也遇到同样的问题。可以加你为好友吗?
caitian6 2008-01-23
  • 打赏
  • 举报
回复
to dyw
你太牛了
呵呵
我改成iSocket.Send( buf , 0, iStatus);就行了
但 Send(const TDesC8 &aDesc, TUint someFlags, TRequestStatus &aStatus);
第一个参数不是 TDesC8 吗?
为什么,用TDesC8不能正常发送,用 TPtr8 反而可以正常发送?
dyw 2008-01-23
  • 打赏
  • 举报
回复
try
iSocket.Send( *pBuf , 0, iStatus);
caitian6 2008-01-23
  • 打赏
  • 举报
回复
谢谢 dyw
dyw 2008-01-23
  • 打赏
  • 举报
回复
TDesC8一般用于参数传递,不能那样构造。调试一下看看它的值就明白了。

3,119

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧