西北工业大学网络编程技术重点

西北工业大学网络编程技术重点

ID:15988263

大小:535.02 KB

页数:17页

时间:2018-08-07

西北工业大学网络编程技术重点_第1页
西北工业大学网络编程技术重点_第2页
西北工业大学网络编程技术重点_第3页
西北工业大学网络编程技术重点_第4页
西北工业大学网络编程技术重点_第5页
资源描述:

《西北工业大学网络编程技术重点》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、说明:本人为西工大计算机学院本科生,这些内容均为本人总结,考试后证明内容还算全面,整理时间为2012.6一、Socket定义、参数Socket是通信双方之间的纽带,Socket可绑定网络应用程序、建立一次连接,并对连接进行唯一标识。Socket提供了一个通信接口,应用程序在网络上发送、接收的信息都通过这个接口来实现。Socket和文件句柄一样,是操作系统的资源。SOCKETsocket(intaf,//地址族inttype,//套接字类型intprotocol//特定的协议);二、Winsock常用函数、辅助函数WindowsSockets的初始化和终止WSAStartup(),WSACl

2、eanup()创建和释放套接字函数socket(),closesocket()绑定套接字和地址结构bind(),listen(),accept(),connect(),sockaddr,sockaddr_in,in_addr发送、接收数据send()、sendto(),recv()、recvfrom()错误处理函数WSAGetLastError()其他辅助函数htons(),htonl(),ntohs(),ntohl();,inet_addr(),inet_ntoa(),gethostbyname(),gethostbyaddr(),getservbyname()三、数据结构(维护哪些数据

3、)1、WSADATA结构用来保存WSAStartup()返回的初始化信息structWSAData{  WORDwVersion;  WORDwHighVersion;  charszDescription[WSADESCRIPTION_LEN+1];  charszSystemStatus[WSASYSSTATUS_LEN+1];  unsignedshortiMaxSockets;  unsignedshortiMaxUdpDg;  char*lpVendorInfo;};2、sockaddr结构体表示通用的Winsock地址结构,针对各种通信域的套接字,存储它们的地址信息struct

4、sockaddr{u_shortsa_family;//地址族:与socket()的第一个参数相同含义charsa_data[14];//协议地址,内容因具体协议而不同};3、sockaddr_in结构体指定Internet通信域的地址结构structsockaddr_in{shortsin_family;//必须为AF_INETu_shortsin_port;//端口structin_addrsin_addr;//IP地址charsin_zero[8];};四、基于TCP协议的Socket编程模型五、C/S端基本思路服务器程序需执行:①初始化套接字接口,调用套接字动态链接库。②创建套接字

5、并将其与本机网络地址结构绑定。③让程序处于监听状态,监听客户机的连接请求。④若有连接请求,则处理并建立连接;若未有连接请求,则阻塞并等待连接请求。⑤接收或发送数据。⑥关闭套接字。⑦注销套接字接口,释放套接字动态链接库所占用资源。客户机程序需执行:①初始化套接字接口,调用套接字动态链接库。②创建套接字。③向服务器发送连接请求。④接收或发送数据。⑤关闭套接字。⑥注销套接字接口,释放套接字动态链接库所占用资源。六、基于UDP协议的Socket编程模型(两种)模型(一)的特点:1、应用程序双份是对等的。使用数据报套接字通信时都经过6个阶段:2、双方必须确切地知道对方的网络地址,且将约定好的自己的网

6、络地址绑定到自己的套接字上。3、每次发送或接收数据报时,所使用的sendto()和recvfrom()中要包括对方的网络地址信息。4、recvfrom()在没有收到数据前,默认情况下会阻塞,程序不向下执行。模型(二)的特点:1、应用程序双份是不对等的。服务器要先行启动,处于被动的等待访问状态;客户机则可随时主动请求访问服务器。2、完成一次通信时服务器要经过6个阶段:而客户机不需要绑定套接字。3、服务器将套接字绑定到周知的端口或指定的端口,且客户机必须确切地知道服务器端套接字使用的网络地址。4、客户机套接字使用动态分配的自由端口,不需要进行绑定。服务器事先不必知道客户机套接字使用的网络地址。

7、5、客户机必须先发送数据报,服务器收到后才能知道客户机的地址,才能给客户机回送数据报。七、多线程,阻塞,非阻塞模式优缺点1、阻塞模式:优点:1、I/O操作工作情况确定,包括调用、等待和返回三个阶段。2、大部分情况下,操作都能成功完成,易编程实现。缺点:若需要建立多个套接字连接来为多个客户机服务时,或收发数据量不均衡时,或I/O时间不确定时,该模式性能低下,甚至无能为力。解决方法:使用多线程机制,并发运行为多个客户机服务。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。