欢迎来到天天文库
浏览记录
ID:36229809
大小:22.63 KB
页数:5页
时间:2019-05-07
《网络编程之socket通信-6》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Server:packagecom.socket;importjava.io.IOException;importjava.io.PrintStream;importjava.net.ServerSocket;importjava.net.Socket;publicclassServer{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubtry{//创建一个ServerSocket,用于监听客户端Socket的连接请求ServerSocketsocket=newServerSocket(3000
2、);//采用不断地接收来自客户端的请求while(true){//每当接收到客户端请求时,服务器端也对应产生一个socketSockets=socket.accept();//将Socket对应的输出流包装成PrintStreamPrintStreamps=newPrintStream(s.getOutputStream());//IO操作ps.println("接收成功!!!!!!");//关闭输出流,关闭Socketps.close();s.close();}}catch(IOExceptione){//TODOAuto-generatedcatchblocke.pri
3、ntStackTrace();}}}Client:packagecom.socket;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.net.Socket;importjava.net.UnknownHostException;/***Socket(InetAddress/StringremoteAddress,intport):创建连接到指定远程主机,远程端口的Socket,*该构造器没有指定本地地址,本地端口,默认使用本地主
4、机的IP地址,默认使用系统动态分配的端口。**Socket(InetAddress/StringremoteAddress,intport,InetAddresslocaAddr,int*locaport):创建连接到指定远程主机,远程端口的Socket,并指定本地IP地址和本地端口,适用于本地主机有多个IP地址的情形。**@authorAdministrator**/publicclassClient{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubtry{/**当出现执行到
5、这里时,该代码会连接到指定服务器,让服务器的ServerSocket的accept()方法向下执行*于是服务器和客户端就产生一对相互连接的Socket**当客户端,服务器产生Socket之后,出现无须在区分服务器和客户端,而是通过各自的Socket进行通信。*Socket提供了如下两个方法来获取输入流和输出流:InputStream*getInputStream():返回该Socket对象对应的输入流,让程序通过该输入流从Socket中取出数据。**OutputStreamgetOutputStream():返回该Socket对象对应的输出流,让程序通过该输入流从Socke
6、t*中输出数据。*/Socketsocket=newSocket("127.0.0.1",3000);//将Socket对应的输出流包装成BufferedReaderbr=newBufferedReader(newInputStreamReader(socket.getInputStream()));//IO操作Stringline=br.readLine();System.out.println("数据:"+line);br.close();socket.close();}catch(UnknownHostExceptione){//TODOAuto-generatedc
7、atchblocke.printStackTrace();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}
此文档下载收益归作者所有