socket实现的udptcp通信实验

socket实现的udptcp通信实验

ID:32585688

大小:69.87 KB

页数:7页

时间:2019-02-13

socket实现的udptcp通信实验_第1页
socket实现的udptcp通信实验_第2页
socket实现的udptcp通信实验_第3页
socket实现的udptcp通信实验_第4页
socket实现的udptcp通信实验_第5页
资源描述:

《socket实现的udptcp通信实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机通信网络实验UDP/TCP通信实验实验目的熟练掌握UDP、TCPClient/Server模式的通信原理二、实验内容传输控制协议(TransportControlProtocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照止常的次序进行重组,而且通过确认保证数据传输的完整性。要通过T

2、CP传输数据,必须在两端主机之间建立连接。举例说明,TCP客户端需要和TCP服务端建立连接,过程如图所示:TPStite*CPPacketTCPStateCLOSEOUSTEN^■^^RESimCTbSYNSYNSEKTSYNRECEfVEDSEQ»75O・ACK・1OO1.Cn«SVN

3、ACKFSTARIISHFOSYN.RFCfIVFDSFO・,IM.,CIG7M・E.MKFSTARIKHFDFCTAMISHFO第一步屮,客户端向服务端提出连接请求。这时TCPSYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插

4、入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。根据以上内容编写一个TCPClient/Server模式的通信程序。事实上网络程序是由两个部分组成:客户端、服务器端它们的建立步骤如下:服务器端socket->bind—>listenaccept客户端socket-->connect三、实验步骤1.编写UDP、TCPClient/Server

5、模式的通信程序;2.调试并运行自己编写的实现程序;3.了解TCPClient/Server模式的工作原理,比较二者的不同,如出现异常情况,在实验报告中写出原因分析;1.保留编写的实现程序。!1!实验过程1.TCPClient/server模式的通信程序服务器端操作socket(套接字):1.在初始化阶段调用WSAStartupO2^建立Socket3、绑定端口4、监听5、服务器端接受客户端的连接请求6、发送及接收信息7^结束socket连接相应的程序:Server:importjava.io.BufferedReader;importjava.io.D

6、atalnputStream;importjava.io.DataOutputStream;importjava.io.InputStreamReader;importjava.net.ServerSocket;importjavamet.Socket;publicclassServer{publicstaticfinalintPORT=12345;//监听的端口号publicstaticvoidmain(String[]args){System.out.println("服务器启动...");Serverserver=newServer();se

7、rver.init();}publicvoidinit(){try{ServerSocketserverSocket=newServerSocket(PORT);while(true){//一旦有堵塞,则表示服务器与客户端获得了连接Socketdient二serverSocket.accept();//处理这次连接newHandlerThread(client);}}catch(Exceptione){System.out.println(n服务器异常:H+e.getMessage());}privateclassHandlerThreadimplem

8、entsRunnable{privateSocketsocket;publicHandlerThread(Socketdient){socket=dient;newThread(this).start();}publicvoidrun(){try{//读取客户端数据DatalnputStreaminput=newDatalnputStream(socket.getlnputStream());StringclientlnputStr=input.readUTF();//这里要注意和客户端输出流的写方法对应,否则会抛EOFException//处理客户端

9、数据System.out.println("客户端发过来的内容:"+clientlnputSt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。