欢迎来到天天文库
浏览记录
ID:41037348
大小:35.00 KB
页数:4页
时间:2019-08-14
《TCP Socket网络编程实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验题目:TCPSocket网络编程一、实验目的掌握基于TCPSocket的网络编程方法二、实验要求1.理解TCP/IP体系结构、端口、套接字等概念;掌握TCP的传输模式。2.熟悉TCP的Socket和ServerSocket类的用法,掌握基于TCPSocket的服务器和客户方编程方法及步骤。3.编程实现TCPSocket通信,截取实验结果图,并提交实验报告。三、实验内容1.TCP服务器在8000端口上等待与客户端连接。当建立连接后,服务器方显示客户的IP地址和端口,并向客户端发送“Welcome!...”,然后接收客户
2、信息并显示“Clientsaid:…”,直到客户端发送“quit”结束消息传递,最后关闭服务器端与客户端的连接。服务器方程序:importjava.io.*;importjava.net.*;publicclassTcpServer{staticpublicvoidmain(Stringargs[])throwsIOException{ServerSocketsvrsoc=null;Socketsoc=null;InputStreamis=null;OutputStreamos=null;//DataInputStrea
3、m为InputStream的子类。DataInputStreamin=null;//PrintStream为OutputStream的子类。PrintStreamout=null;try{//构造ServerSockets对象,端口为8000,svrsoc=newServerSocket(8000);/*让服务者永远等待,直到客户连接到该端口。服务者等待一个*连接,返回新套接口soc,新套接口soc实现了与客户原建立的套接口*的连接。*/soc=svrsoc.accept();//获得新套接口soc绑定的输入流Input
4、Stream对象is=soc.getInputStream();//构造数据输入流DataInputStream对象inin=newDataInputStream(is);//获得新套接口soc绑定的输出流OnputStream对象os=soc.getOutputStream();//构造输出流PrintStream对象outout=newPrintStream(os);/*这里创建了数据输入流类对象in和输出流类对象out,服务者利用它们从客户接收输入信息(in)和向客户发送信息(out),同样,在客户端也应该建立这两
5、个对象,用来与服务者进行双向通信。服务者向输出流发送的所有信息都成为客户的输入信息,而客户程序的输出的信息都送入服务者的输入流。*///获到客户方的IP地址,soc绑定了与它连接的客户地址InetAddressclientIP=soc.getInetAddress();//在服务方显示客户方的IP地址System.out.println("Client'sIPaddress:"+clientIP);intport;port=soc.getPort();//得到客户方的端口//在服务方显示客户方的端口System.out.
6、println("Client'sport:"+port);//向客户发送…out.println("Welcome!...");/*readLine()是数据输入流类中的一个方法,用于从输入流中读入对方发送的一行信息。*/Stringstr=in.readLine();//在in上读一行/*当输入流读入的不是”quit”时,将输入的数据写入输出流中,在屏幕上显示,然后继续从输入流中读入,不断循环,直到输入”quit”为止*/while(!str.equals("quit")){//如读出的不是“quit”,继续读Sys
7、tem.out.println("Clientsaid:"+str);str=in.readLine();}System.out.println("Clientwanttoleave.");}catch(Exceptione){System.out.println("Error:"+e);}/*不断循环以上代码,直到客户输入”quit”或者str为null为止。最后在退出前,关闭输入输出流及Socket*/finally{is.close();//关闭输入流os.close();//关闭输出流soc.close();//
8、关闭socketSystem.exit(0);}}}2.客户方程序:importjava.net.*;importjava.io.*;publicclassTcpClient{staticpublicvoidmain(Stringargs[])throwsIOException{Socketsoc=null;Inpu
此文档下载收益归作者所有