Symbian socket 网络编程方法
2010-03-18 20:59:00 来源:WEB开发网致谢: 本文是于2005年从www.symbian.com的开发文章部分引用于此的, 本文的作者是Gavin Meiklejohn。目前指向这篇文章的链接已经不再有效,所以此处再次发布这篇十分有价值的文章。
// 下边的代码是介绍同步socket的用法:
//需要用到的lib,可能不全,请看sdk的help自己添加
esock.lib
//需要的头文件,可能不全,请看sdk的help自己添加
#include
#include
#include
#if defined __WINS__
_LIT(KConnectIP,"192.168.0.1");//连接的ip地址,换成测试的ip
#else
_LIT(KConnectIP,"10.0.0.172");// 移动的cmwap代理网关
#endif
const int KConnectPort = 80;//端口
HBufC8 *SocketGetUrl(TDesC8 &geturl);
void TestSocket()
{
_LIT8(KSendData, "POST http:://www.google.com.cn http/1.1 ");
TBuf8<128> sendData(KSendData);
HBufC8 *body = SocketGetUrl(sendData);
if(body)
{
//服务器端返回的数据处理
delete body;
}
}
HBufC8 *SocketGetUrl(TDesC8 &geturl)
{
RNif iNif;
RSocket iSocket;
TRequestStatus iStatus = KRequestPending;
TBuf8<512> writeBuf(geturl);
TBuf8<64> recvBuf;
HBufC8 *iBuffer = NULL;
iNif.Open();
{
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;
更多精彩
赞助商链接