欢迎来到天天文库
浏览记录
ID:37852139
大小:84.00 KB
页数:12页
时间:2019-06-01
《JAVA之旅(三十三)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA之旅(三十三)一.TCP说完UDP,我们就来说下我们应该重点掌握的TCP了TCP传输Socket和ServiceSocket建立客户端和服务端建立连接后,通过Socket中的IO流进行数据的传输关闭Socket同样的,我们的客户端和服务端都是两个独立的应用我们通过查阅API文档发现,该对象在建立的时候,就可以去连接指定主机,因为tcp是面向连接的,所以在建立socket服务时,就要有服务存在,并成功连接,形成通路后,在该通道进行数据传输所以我们用代码来看下他的步骤客户端packagecom.lgl.hellojava;importjav
2、a.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.ServerSocket;importjava.net.Socket;importjava.net.UnknownHostException;publicclassTcpClient{publicstaticvoidmain(String[]args){try{//1.创建客户端的服务,传地址和端口Sockets=newSocket("192.168.1.102",10000)
3、;//2.为了发送数据,应该获得socket流中的输出流OutputStreamout=s.getOutputStream();out.write("你好".getBytes());s.close();}catch(UnknownHostExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}服务端packagecom.lgl.he
4、llojava;importjava.io.IOException;importjava.io.InputStream;importjava.net.ServerSocket;importjava.net.Socket;/***定义端点接收数据打印出来*服务端:*1.建立服务端的socket服务,servicesocket,并监听一个端口*2.获取连接过来的客户端对象,通过accept方法,这个方法是阻塞的,没有连接就会等*3.客户端如果发过来数据,那么服务端要使用对应的客户端对象,并获取到该对象的读取流*4.关闭服务端(可选操作)*@auth
5、orLGL**/publicclassTcpService{publicstaticvoidmain(String[]args){try{//1.建立连接,监听端口ServerSocketss=newServerSocket(10000);//2.连接客户端对象Socketaccept=ss.accept();//获取ipStringip=accept.getInetAddress().getHostAddress();//3.获取客户端发送过来的数据InputStreamin=accept.getInputStream();//4.开始读取b
6、yte[]buf=newbyte[1024];intlen=in.read(buf);System.out.println(newString(buf,0,len));//5.关闭ss.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}二.TCP互相传输我们在来写一个实例去说明,他们的互访动作,这里为了写起来方便,就写在一个类中了packagecom.lgl.hellojava;importjava.io.IOException;i
7、mportjava.io.InputStream;importjava.io.OutputStream;importjava.net.ServerSocket;importjava.net.Socket;importjava.net.UnknownHostException;/***客户端发送信息,服务端收到,反馈信息**@authorLGL**/publicclassTcp{publicstaticvoidmain(String[]args){try{Sockets=newSocket("192.168.1.102",10005);Outpu
8、tStreamout=s.getOutputStream();out.write("我是客户端".getBytes());InputStreamin=
此文档下载收益归作者所有