欢迎来到天天文库
浏览记录
ID:50941953
大小:192.72 KB
页数:6页
时间:2020-03-16
《Socket编程实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验报告实验一Socket编程一、实验目的通过socket程序的编写、调试,掌握socket编程的基本方法,了解客户端与服务器端的特点,掌握并熟悉运用socket类与ServerSocket类。二、实验内容①学习socket编程使用的类和接口,着重掌握基于TCP协议的socket。②编写服务器端的应用程序③编写客户端的应用程序④实现服务器端与客户端的交互三、实验代码1.服务器端程序过程:在端口5000上创建一个等待连接的ServerSocket对象server:server=newServerSocke
2、t(5000);接着调用server对象的accept()方法等待某客户程序发出连接请求。该方法一直阻塞直到有客户连接到带端口。一旦有客户发送正确请求,则连接成功,accept()方法返回一个Socket对象,于是得到了一个新的用于通信的Socket对象,通信链路建立成功。然后利用Socket类提供的方法创建Socket对象的输入流和输出流。此后即于客户端进行通信,直到客户端断开连接即关闭各个流结束通信。代码如下:importjava.net.*;importjava.io.*;classaa{stat
3、icpublicvoidmain(Stringargs[])throwsIOException{ServerSocketserver=null;Socketsocket=null;InputStreamis=null;OutputStreamos=null;DataInputStreamin=null;PrintStreamout=null;try{//在端口5000注册服务server=newServerSocket(5000);socket=server.accept();//侦听连接请求,等待连接
4、System.out.println("**********************服务器端界面*************************");System.out.println("与客户端连接成功!");System.out.println("");System.out.println("对话内容为:");System.out.println("");System.out.println("等待客户发送信息.....");//获取对应的Socket的输入/输出流is=socket.getIn
5、putStream();os=socket.getOutputStream();//建立数据流in=newDataInputStream(is);out=newPrintStream(os);//表示向对方输出out.println("Welcome!");//表示向对方输出Stringstr=in.readLine();//逐行读取do{System.out.println("客户端说:"+str);str=in.readLine();}while(str.trim().equals("BYE"))/
6、/如果是“BYE”就退出System.out.println("客户想要离开");}catch(Exceptione)//捕获程序异常{System.out.println("Error:"+e);}finally{is.close();//关闭输入流os.close();//关闭输出流in.close();//关闭数据输入流socket.close();//关闭socket}}}2.客户端程序过程:首先创建一个指向服务器的指定端口号(5000)的Socket对象socket:socket=newSoc
7、ket("localhost",5000);此时服务器指定为本地计算机,若要在网络中指定服务器,只需要将参数localhost改成相应的服务器名或者IP地址即可。然后程序利用Socket类提供的方法创建Socket对象的输入流和输出流。此后即于服务器通信,断开连接即关闭各个流结束通信。代码如下:importjava.net.*;importjava.io.*;classbb{staticpublicvoidmain(Stringargs[])throwsIOException{Socketsocket=
8、null;InputStreamis=null;OutputStreamos=null;DataInputStreamin=null;PrintStreamout=null;Stringd=null;try{//向本地服务器申请链接//注意端口号要与服务器保持一致:5000socket=newSocket("localhost",5000);System.out.println("********************客户端界面*****
此文档下载收益归作者所有