socket套接字的使用.docVIP

  • 5
  • 0
  • 约3.23千字
  • 约 4页
  • 2018-03-31 发布于河南
  • 举报
socket套接字的使用

socket 套接字的使用 socket 服务器端和客户端通信,面向TCP的 服务器端步骤: 1、创建用于监听的套接字(socket) 2、将套接字绑定到本地地址和端口上(bind) 3、将套接字设为监听模式(listen) 4、等待客户请求(accept),此处要不断的调用accept 5、通信(send/receive),完成后返回4 6、关闭套接字(closesocket) ? 客户端步骤: 1、创建套接字 2、向服务器发送连接请求(connect) 3、通信(send/recv) 4、关闭套接字 ? 程序代码: 服务器端: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 #include WinSock2.h #include stdio.h #pragma comment(lib,Ws2_32.lib.) ?? void main() { ?? ????/* 加载套接字库 */ ????WORD wVersionRequested; ????// 所使用套接字的版本号 ????WSADATA wsaData; ????// 存储套接字版本的有关信息 ????int err; ?? ????wVersionRequested = MAKEWORD(1,1); ????// 请求版本号,高位和低位字节均为1 ?? ????err = WSAStartup(wVersionRequested,wsaData); ????// 加载套接字 ????if(err != 0) ????{ ????????return; ????} ?? ????if (LOBYTE(wsaData.wVersion)!=1 || ????????HIBYTE(wsaData.wVersion)!=1) ????{ ????????WSACleanup(); ????????//如果高位或低位字节不为1终止对套接字的使用 ????????return; ????} ?? ????/* 创建用于监听的套接字 */ ????SOCKET sockSrv = socket(AF_INET,SOCK_STREAM,0); ????// 创建套接字,流式套接字,第三个参数设为0则自动选择合适的协议 ?? ????/* 绑定套接字 */ ????SOCKADDR_IN addrSrv; ????// 服务器地址信息,使用SOCKADDR_IN 代替SOCKETADD, 结构体的大小相等,可强制转换 ????addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY); ????addrSrv.sin_family=AF_INET; ????addrSrv.sin_port=htons(600); ????// 使用htons函数转换为网络字节序 ?????? ????bind(sockSrv,(SOCKADDR *)addrSrv,sizeof(SOCKADDR)); ????// 将监听套接字绑定到本地地址和端口上 ????listen(sockSrv,5); ????// 监听 ?? ????/* 等待客户到来并接收发送数据 */ ????SOCKADDR_IN addrClient; ????// 接收客户地址信息缓冲区 ????int len=sizeof(SOCKADDR); ?? ????while(1){ ????????SOCKET sockConn = accept(sockSrv,(SOCKADDR*)addrClient,len); ????????// 等待接收客户连接请求,并返回连接套接字,利用这个套接字实现通信 ????????char sendBuf[100]; ????????sprintf(sendBuf,Welcome %s to /xiao-cheng, ????????????inet_ntoa(addrClient.sin_addr)); ????????send(sockConn,sendBuf,strlen(sendBuf)+1,0); ????????// 发送数据,多加一个长度是字符串结束符 ????????char recvBuf

文档评论(0)

1亿VIP精品文档

相关文档