- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Socket网络编程指导》.ppt
数据传输(3) * */37 ? sendto()和recvfrom()用于在无连接的数据报socket方 式下进行数据传输。由于本地socket没有与远端机器建立连接,所以在发送数据时要指明目的地址。 ????? sendto()函数原型为: int sendto(int sockfd, const void *buf,int buflen, unsigned int flags, const struct sockaddr_in *to, int tolen); 数据传输(4) * */37 recvfrom()函数原型为: int recvfrom(int sockfd,void *buf,int buflen, unsigned int flags,struct sockaddr_in *from,int *fromlen); recvfrom()函数返回接收到的字节数,当出错时返回-1 ?结束传输 * */37 close()函数用于释放socket,停止在该socket上的任何数据操作:?????close(sockfd); ???? 也可以调用shutdown() 来关闭该socket 该函数允许只停止某个方向上的数据传输,而一个方向上的数据传输继续进行。????int shutdown(int sockfd,int how); ???参数 how允许为shutdown操作选择以下几种方式: ????0-------不允许继续接收数据 ????1-------不允许继续发送数据 ????2-------不允许继续发送和接收数据, ????shutdown在操作成功时返回0,出错时返回-1。 C/S结构 * */37 服务器端要先启动,提供相应服务: 1:打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。 2:等待客户请求到达该端口。 3:接收到服务请求,处理该请求并发送应答信号。 4:返回第二步,等待另一客户请求 5:关闭服务器。 客户端: 1、打开一通信通道,并连接到服务器所在主机的特定端口。 2、向服务器发送服务请求报文,等待并接收应答;继续提出请求…… 3、请求结束后关闭通信通道并终止。 流程图 * */37 TCP服务器端 (循环服务器) TCP客户端 socket( ) bind( ) listen( ) accept( ) socket( ) send( ) connect( ) recv( ) recv( ) send( ) close( ) close( ) UDP服务器端 UDP客户端 socket( ) bind( ) listen( ) recvfrom( ) sendto( ) socket( ) bind( ) close( ) close( ) 简单的例子 * */37 int sockfd, newsockfd,addr_len, sendnum; struct sockaddr_in my_addr, their_addr; char * msg = “welcome”; sockfd = socket( AF_INET, SOCK_STREAM, 0 ); //建立socket my_addr.sin_family = AF_INET; //选择网络类型为TCP/IP my_addr.sin_addr.s_addr = inet_addr(“22); my_addr.sin_port = htons( 8888 ); //选择端口8888 addr_len = sizeof( struct sockaddr_in); memset(my_addr.sin_zero, ‘\0’, sizeof(my_addr.sin_zero)); bind(sockfd, (struct sockaddr *)my_addr, addr_len); //绑定socket listen(sockfd,10); //监听,等待连接,等待连接队列最大长度为10 简单的例子(续) * */37 While( 1 ) { newsockfd = accept( sockfd, (struct sockaddr *)my_addr, addr_len); sendnum = send(newsockfd, msg, s
您可能关注的文档
- 《SKF公司的滚动轴承》.doc
- 《SKF圆锥滚子轴承安装方法》.pdf
- 《SKF的滚动轴承代号》.doc
- 《SKF精密转台轴承-EN》.pdf
- 《SKF角接触轴承》.ppt
- 《SKF调心滚子轴承应用(英文版)》.pdf
- 《skf轴承OK_1》.pdf
- 《SKF轴承》.pdf
- 《SKF轴承价格》.doc
- 《SKF轴承后缀》.doc
- 《sodium chloride-QC1》.doc
- 《Sodium Hydroxide 50% Solution》.pdf
- 《Sodium Tetraalkoxyborates Intermediates ...》.pdf
- 《sodium.triacetoxyborohydride》.pdf
- 《SoEZ-USB2.0(CY7C68013A)开发板手册+V1.0》.pdf
- 《Sogdian Traders》.pdf
- 《Solenoid Valves Basics》.pdf
- 《SolidWorks 2016 SP0.0【安装+破解+开启特效】指》.pdf
- 《SolidWorks 2016 SP2.0【安装+破解+开启特效】指南》.pdf
- 《SolidWorks 2016中文版基础教程 1CD 教学课件 宋晓梅 张莹 蔡汉明 4》.pdf
最近下载
- TASCAM达斯冠专业音响DP-24SD说明书用户手册.pdf
- 改革开放年家乡的变化安徽省合肥市课件.pptx VIP
- 科普版英语六年级上册Lesson 3 It will be sunny this Sunday 课件.pptx VIP
- 《短歌行》《归园田居(其一)》联读ppt课件.pptx VIP
- 水利安全生产风险管控“六项机制”实施工作指南(2024年版).pdf VIP
- TB10753-2010 高速铁路隧道工程施工质量验收标准.docx VIP
- 磁致伸缩液位计说明书-川仪.pdf VIP
- Ansys基本教程(非常好,入门).pdf
- 浙江省嘉兴一中高一10月月考(化学).doc VIP
- 计算机专业毕业设计题目大全.docx VIP
文档评论(0)