- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* TCP/IP Socket网络编程 */83 基本函数 网络连接函数 socket 创建套接字 bind 绑定本机端口 connect 建立连接 listen 监听端口 accept 接受连接 recv, recvfrom 数据接收 send, sendto 数据发送 close, shutdown 关闭套接字 * TCP/IP Socket网络编程 */83 基本函数 转换函数 IP地址转换函数 inet_addr() 点分十进制数表示的IP地址转换为网络字节序的IP地址 inet_ntoa() 网络字节序的IP地址转换为点分十进制数表示的IP地址 字节排序函数 htonl 4字节主机字节序转换为网络字节序 ntohl 4字节网络字节序转换为主机字节序 htons 2字节主机字节序转换为网络字节序 ntohs 2字节网络字节序转换为主机字节序 * TCP/IP Socket网络编程 */83 网络信息检索函数 网络信息检索函数 gethostname 获得主机名 getpeername 获得与套接口相连的远程协议地址 getsockname 获得套接口本地协议地址 gethostbyname 根据主机名取得主机信息 gethostbyaddr 根据主机地址取得主机信息 getprotobyname 根据协议名取得主机协议信息 getprotobynumber 根据协议号取得主机协议信息 getservbyname 根据服务名取得相关服务信息 getservbyport 根据端口号取得相关服务信息 getsockopt/setsockopt 获取/设置一个套接口选项 ioctlsocket 设置套接口的工作方式 * TCP/IP Socket网络编程 */83 Windows中的Socket编程 Windows中的Socket编程 Winsock 的启动 Winsock API基本函数 TCP/IP网络程序框架(C/S模式) 阻塞与非阻塞通信方式 实例程序说明 * TCP/IP Socket网络编程 */83 Winsock Winsock是一个基于Socket模型的API,在Windows系统中广泛使用 它在Berkeley接口函数的基础上,还增加了基于消息驱动机制的Windows扩展函数 Winsock1.1只支持TCP/IP网络,Winsock2.2增加了对更多协议的支持 * TCP/IP Socket网络编程 */83 Winsock(2) 需要包含头文件Winsock2.h,需要使用库ws2_32.lib,包含办法可以用语句来告诉编译时调用该库 #pragma comment(lib,”ws2_32.lib”); 如果使用Visual C++ 6.0,可以通过“工程” “设置”“工程设置”“链接”“对象/库模块”中加入“ws2_32.lib” * TCP/IP Socket网络编程 */83 Windows Socket的启动 使用Winsock API编制的网络应用程序中,在调用任何一个Winsock函数之前都必须检查协议栈安装情况,使用函数WSAStartup()完成操作。 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); wVersionRequested是一个WORD型(双字节型)数值,指定使用的版本号,对Winsock2.2而言,此参数的值为0x0202,也可以用宏MAKEWORD(2,2)来获得 lpWSAData是一个指向WSADATA结构的指针,它返回关于Winsock实现的详细信息 * TCP/IP Socket网络编程 */83 Winsock启动示例 #include Winsock2.h WORD wVersionRequested; WSADATA wsaData; wVersionRequested=MAKEWORD(2,2); if(WSAStartup(wVersionRequested,wsaData)!=0) { //Winsock初始化错误 return; } if(wsaData.wVersion!=wVersionRequested) { //Winsock版本不匹配 WSACleanup(); return; } //说明WinsockDLL正确加载,可以执行以下代码 * TCP/IP Socket网络编程 */83 创建套接口socket() 应用程序在使用套接口通信前,必须要拥有一个套接口,使用socket()函数来给应用程序创建一个套接口。 SOCKET socket( int af, int type
文档评论(0)