如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
网络编程技术socket(套接字)客户端一些Socket编程的概念需要用到的头文件BerkeleySocket常用函数列表网络连接函数获取/设置socket的参数或信息转换函数socketaddressstructuresforInternet,XNSandUnixfamiliessocketaddress数据结构:sockaddr_in程序中实际只填写sockaddr_in结构创建一个socketSocket描述符与Linux中的文件描述符类似,也是一个int型的变量函数调用:intsocket(intfamily,inttype,intprotocol);函数返回Socket描述符,返回-1表示出错family参数一般取AF_INET,protocol参数一般取0应用示例:TCP:sockfd=socket(AF_INET,SOCK_STREAM,0);UDP:sockfd=socket(AF_INET,SOCK_DGRAM,0);“协议”与“family”及“type”域的可能组合在服务器上运行,给socket指定一个众所周知的(well-known)端口地址intbind(intsockfd,conststructsockaddr*myaddr,socklen_taddrlen)bind()调用开始监听已经绑定的端口需要在此前调用bind()函数,否则由系统指定一个随机的端口intlisten(intsockfd,intqueue_length);接收队列一个新的Client的连接请求先被放在接收队列中,等待Server程序调用accept函数接受该连接请求queue_length用于指定接收队列的长度,也就是在Server程序调用accept函数之前最大允许进入的连接请求数,多余的连接请求将被拒绝,典型取值为5建立与服务器的连接intconnect(intsockfd,conststructsockaddr*servaddr,socklen_taddrlen)servaddr是事先填写好的结构,用于指定所要连接的服务器的地址(Server的IP地址和端口号)。accept()accept()的使用accept()服务器都可工作在两种不同的方式:循环方式(iterativemode)——在计算机中一次只运行一个服务器进程。当有多个客户进程请求服务时,服务器进程就按请求的先后顺序依次做出响应。并发方式(concurrent)——在计算机中同时运行多个服务器进程,每一个服务器进程对某个特定的客户进程做出响应。循环型服务员代码并发型服务员代码发送和接收recvsendrecvfromsendtosend,sendto,recv,recvfrom函数调用的参数:flagscloseshutdownselectsocket集合Select应用举例其他基本的系统调用其他基本的系统调用其他基本的系统调用其他基本的系统调用其他基本的系统调用其他基本的系统调用其他基本的系统调用其他基本的系统调用级Level创建一个新的通信端点服SOCKET编程实例思考题ThankYou!