手机版

TCP实验报告(12)

发布时间:2021-06-06   来源:未知    
字号:

addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//自动分配地址,字节顺序转换 addrSrv.sin_port = htons(DEFAULT_PORT);//字节顺序转换 //绑定本地主机IP和端口 err = bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); if ( err != 0 ) { cout<<"bind() fail:"<<WSAGetLastError()<<endl; return 0; } //监听 err = listen(sockSrv,5); if ( err != 0 ) { cout<<"listen() fail:"<<WSAGetLastError()<<endl; return 0; } cout<<"Server waiting...:"<<endl; SOCKADDR_IN addrClient; int len = sizeof(SOCKADDR); while(1) { SOCKET sockConn = accept(sockSrv,(SOCKADDR*)&addrClient,&len);//接收客户进程连接请求 if (sockConn == INVALID_SOCKET) { cout<<"accept() fail:"<<WSAGetLastError()<<endl; break; } char sendBuf[1024],hostname[100]; if (gethostname(hostname,100) != 0) //获取主机名称 strcpy(hostname,"None"); sprintf(sendBuf,"welcome %s connected to %s!",inet_ntoa(addrClient.sin_addr),hostname); err = send(sockConn,sendBuf,strlen(sendBuf)+1,0); //发送数据 if (err == SOCKET_ERROR) { cout<<"send() fail:"<<WSAGetLastError()<<endl; break; } char recvBuf[1024] = "\0"; iLen = recv(sockConn,recvBuf,1024,0);//接收数据 if (iLen == SOCKET_ERROR) { cout<<"recv() fail:"<<WSAGetLastError()<<endl;

TCP实验报告(12).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)