天津理工大学计算机网络 实验二(7页).doc
《天津理工大学计算机网络 实验二(7页).doc》由会员分享,可在线阅读,更多相关《天津理工大学计算机网络 实验二(7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-实验报告学院(系)名称:计算机与通信工程学院姓名学号专业计算机科学与技术班级实验名称实验二:基于TCP/UDP的Socket编程课程名称计算机网络课程代码实验时间实验地点7#219批改意见成绩教师签字: 1. 实验目的了解套接字(socket)实现原理。通过编成理解TCP、UDP原理,加深对传输层的功能理解。2. 实验环境Windows 73. 实验要求请在以下题目中选择一个,按照要求完成实验,并完成实验报告。实验可以分组进行,每2人一组,在报告中注明每个成员的分工。编程可以使用任何高级语言,建议使用java或C+。(1)基于TCP / UDP的socket编程a) 利用Java或C+语言,
2、分别基于TCP和UDP编写一个简单的Client/Server网络应用程序。要求实现客户向服务器传输任意一个字符串,服务器将收到的字符串变换成大写后传回客户。b) 修改上述程序,实现服务器根据客户请求,将服务器端指定的文件可靠地传输给客户。如果服务器没有指定的文件,服务器将给客户返回一个信息,通知客户其请求文件不存在。4. 实验过程记录(源程序、测试用例、测试结果及心得体会等)源程序:(1)服务端:/server.cpp #include #include #include #include #include #pragma comment(lib, WS2_32.lib ) using na
3、mespace std; void OutErr(string msg) cout 错误!发生在 msg 0) if(FD_ISSET(c,&fdread) ReciveBytes=recv(c,data,10,0); if(ReciveBytes=SOCKET_ERROR) break; cout 收到字节数: ReciveBytes endl; dataReciveBytes= 0 ; cout data 0); FD_CLR(c,&fdread); closesocket(c); return 0; int main() SOCKET server; SOCKET client; SOC
4、KADDR_IN ser_addr,cli_addr; WSADATA wdata; int cliaddrLen=0; UINT port=4000; HANDLE Hnd; DWORD dwThreadID; if(WSAStartup(MAKEWORD(2,0),&wdata)!=0) OutErr(string( WSAStartup ); return 1; ser_addr.sin_addr.S_un.S_addr=inet_addr( 0.0.0.0 ); ser_addr.sin_family=AF_INET; ser_addr.sin_port=htons(port); /i
5、f(server=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_IP,NULL,0,1)=INVALID_SOCKET) if(server=socket(AF_INET,SOCK_STREAM,IPPROTO_IP)=INVALID_SOCKET) OutErr(string( WSASocket ); return 1; if(bind(server,(SOCKADDR *)&ser_addr,sizeof(SOCKADDR)!=0) OutErr(string( bind ); return 1; if(listen(server,5)!=0) OutErr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 天津理工大学计算机网络 实验二7页 天津 理工大学 计算机网络 实验
限制150内