计算机网络套接字编程实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程:计算机网络
项目:实验2 套接字编程
一、实验目的
1掌握客户机与服务器的通信原理。
2掌握WinSocket编程技术,实现两机间的通信。
二、实验原理
在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:
首先服务器方要先启动,并根据请示提供相应服务:(过程如下)
1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。
2、等待客户请求到达该端口。
3、接收到重复服务请求,处理该请求并发送应答信号。
4、返回第二步,等待另一客户请求
5、关闭服务器。
客户方:
1、打开一通信通道,并连接到服务器所在主机的特定端口。
2、向服务器发送服务请求报文,等待并接收应答;继续提出请求……
3、请求结束后关闭通信通道并终止。
面向连接的应用程序流程图:
三、实验内容:
分别用TCP和UDP实现套接字编程,实现小写字母转大写!
四、实验结果与分析:
实验包含四个程序,如下:
TCPClient:
TCPServer:
UDPClient:
UDPSever:
程序运行结果:
需要把hostname改成主机IP地址,用ipconfig命令可得到本地IP。
运行结果:
思考题:
在一台主机上安装编译用java写的TCPClient和UDPClient程序,在另一台主机上安装编译TCPServer和UDPServer程序。
那么1:在运行TCPCserver运行TCPClient会发生什么现象?为什么?
2:在运行UDPCserver运行UDPClient会发生什么现象?为什么?
3:如果你对客户机端和服务器端使用了不同的端口,将发生什么现象?
答:1.2.3都什么都不会发生,因为tcp、udp server程序无非是绑定了一个特定的端口,但是client端使用的端口都是随机产生的,不必要client 和server 的tcp和udp端口必须一致。
五、实验总结:
通过本次实验,让我更加深入的了解了套接字编程实现的细节,对TCP、UDP协议原理也有了更深刻的理解。同时学会使用了java编程的流程,在实验编码中,遇到了不少错误,但都不断改进调试最后成功,还有hostname只用本地IP最直接,当然,也可以换别的主机的地址。