第13章 基于socket的网络编程_70min.pdf
《第13章 基于socket的网络编程_70min.pdf》由会员分享,可在线阅读,更多相关《第13章 基于socket的网络编程_70min.pdf(25页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、基于socket的网络编程天翼博路技术部2009.2主要内容?BREW所支持的socket编程?UDP socket编程?TCP socket编程BREWTMDeveloper Training BREW中的socket编程特点?非阻塞异步通信模式-基于回调函数的通知方式?支持TCP和UDP?C网手机至少同时支持3个TCP,4个UDP?BREW提供的通用API?INetMgr?ISocketINetMgr?INetMgr 对象的创建?ISHELL_CreateInstance(piShell,AEECLSID_NET,&piNet)?网络属性?PPP state(OPEN,ASLEEP,CLO
2、SED)?Single IPv4 address?所有操作完成以后释放INetMgr 的函数?OpenSocket()?Creates a STREAM or DGRAM ISocket?GetHostByName()?Name Service(resolver)?Retrieves“A”record via IDNS?Caches results for performance?NetStatus()?Retrieve instantaneous network state?OnEvent()?Register callback for asynchronous network state
3、changesINetMgr 的函数?GetMyIPAddr()?Local IP address?Zero if PPP down?SetLinger()?Linger timer?Defaults to 30 seconds?Max of all INetMgr instances?Close PPP lingerseconds after last socket activity?SetOpt()/GetOpt()?Generic Control?RLP3 settings?PPP credentials?DNS serversISocket 接口?支持支持 IPv4 socket?ST
4、REAM or DGRAM?INetMgr 管理网络行为管理网络行为?Opens PPP only when needed?Local IP address needed for Bind(),Connect(),or SendTo()?Loopback 支持支持?INADDR_BREW_LOOPBACK?INADDR_LOOPBACKISocket的函数?Bind()/GetSockName()?Request/retrieve local socket address?Listen()/Accept()?TCP server sockets?Connect(),GetPeerName()?
5、Request,retrieve remote TCP socket address?Read(),ReadV(),Write(),WriteV()?TCP data stream?Shutdown(),Close()?Graceful TCP terminationISocket的函数?SendTo(),RecvFrom()?UDP datagrams?GetLastError()?Specific error code of last operation(e.g.ECONNRESET)?Readable(),Writeable(),Cancel()?Non-blocking I/O?Set
6、Opt()/GetOpt()?Socket options(TCP keep-alive,receive buffer size,etc.)?IOCtl()?Generic control,extensionsBREWTMDeveloper Training BREW UDP socket 编程创建与释放?CreationISocket*mySocket;mySocket=INETMGR_OpenSocket(pMe-pINetMgr,AEE_SOCK_DGRAM);if(!mySocket)DBGPRINTF(“Error value:%x”,INETMGR_GetLastError(pMe
7、-pINetMgr);?Releaseif(mySocket)ISOCKET_Release(mySocket);mySocket=NULL;数据报的发送准备ISOCKET_SendTo(ISocket*pISocket,byte*pBuff,uint16 wBytes,uint16 wflags,INAddr a,INPort wPort)pISocket:Pointer to the ISocket Interface object.pBuff:Buffer containing data to be sent.wBytes:Size of the buffer,in terms of n
8、umber of bytes.wflags:Not used and must be set to 0.a:IP Address.wPort:Port.转换成网络字节?Port?netPort=HTONS(myPort);?IP Address?netIP=HTONL(myIP);数据发送Void SendPacket(App*pMe)retVal=ISOCKET_SendTo(pMe-pISocket,(byte*)HelloWorld,sizeof(HelloWorld),0,pMe-inAddr,HTONS(pMe-port);switch(retVal)case AEE_NET_WOU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第13章 基于socket的网络编程_70min 13 基于 socket 网络 编程 _70min
限制150内