软件开发技术基础 第2版 教学课件 作者 赵英良 第5章 网络编程技术2_网络编程.pptVIP

软件开发技术基础 第2版 教学课件 作者 赵英良 第5章 网络编程技术2_网络编程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * 5.3.2 客户端API 客户建立连接所需的步骤只需三个: (1)创建Socket; (2)用要连接服务器的名称填充sockaddr地址结构,对于TCP/IP协议,该名称就是服务器的IP地址和监听端口号; (3)使用connect初始化和服务器的连接。 * connect函数 connect函数原型为: int connect(SOCKET s, const struct sockaddr FAR *name, int namelen); * 客户端程序 SOCKET s; sockaddr_in serverAddr; s = socket(AF_INET, SOCK_STREAM, 0); serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(2000); serverAddr.sin_addr.s_addr = inet_addr(6); connect(s, (sockaddr*)serverAddr, sizeof(serverAddr); …… * 5.3.3 数据传输API send()和recv()函数被用来分别发送和接收流数据 所有和发送及接收数据相关的缓冲区(buffer)都是char类型 * 发送和接收数据 1.发送数据 send()函数的原型为: int send(SOCKET s, const char FAR * buf, int len, int flags); 2.接收数据 recv()函数的原型为: int recv(SOCKET s, char FAR * buf, int len, int flags); * 网络程序实例 服务器运行结果 * 客户端运行结果 服务器实例 【例5-1】服务器程序:此程序作为服务器运行,它绑定到某个给定的端口,等待客户端的连接并接收客户端发送来的数据,然后显示接收到的数据,向客户端发送回一个消息然后退出。 解题步骤: 使用VC创建win32控制台应用程序, 将ws2_32.lib添加到工程中 输入程序 * C:\Program Files\Microsoft Visual Studio\VC98\Lib\WSOCK32.LIB * #include stdafx.h #include stdio.h #include conio.h #include stdlib.h #include winsock2.h // 函数原型声明 void StreamServer(short nPort); //////////////////////////////////////////////////////////// void main(int argc, char **argv) { WORD wVersionRequested = MAKEWORD(2,2); WSADATA wsaData; short nPort; nPort = atoi(argv[1]); // 转变端口参数为整型 WSAStartup(wVersionRequested, wsaData); // 初始化 WinSock StreamServer(nPort); //自己编写的服务器函数(见教材) WSACleanup(); // 释放 WinSock } * 客户端实例 【例5-2】客户端程序:此程序连接到通过命令行指定的服务器的某个端口。一旦连接,该程序发送数据给服务器,然后等待服务器的响应消息,输出后退出。 创建win32控制台应用程序 将ws2_32.lib添加到工程中 输入程序 * #include stdafx.h #include stdio.h #include stdlib.h #include conio.h #include winsock2.h // 函数原型声明 void StreamClient(char *szServer, short nPort); //////////////////////////////////////////////////////////// void main(int argc, char **argv) { WORD wVersionRequested = MAKEWORD(2,2); WSADATA wsaData; short nPort; nPort = atoi(argv[2]); WSAStartup(wVersionRequested, wsaData); // 初始化 WinSock StreamClient(argv[1], nPort); //自己编写的客户端函数(见教材

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档