TCP通信(二)

来源:互联网 发布:怎么在淘宝找代销 编辑:程序博客网 时间:2024/06/06 02:01
package cn.com;import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;//TCP服务端//关于TCP的客户端和服务端的比喻(我的理解)://比如在很大的宾馆的前台,有许许许多多电话,这个前台就是一个TCP服务端。//当有预定房间的电话(客户端)打进来的时候,就会有一个前台的电话与它接通。//即代码Socket s = ss.accept();返回值是一个Socket()即一个电话。这个时候这两部电话是对等的。//它们都有自己的getOutputStream和getInputStream。只不过,一边的输出是对应于另一边的输入,反之亦然。//UDP和TCP的区别://UDP不需要建立连接,但是TCP要先建立连接再通讯。//正是这个原因:UDP直接往外面扔数据包,但是TCP在建立连接后,就有流!然后通过流来进行通讯,比如getOutputStream和getInputStream方法。//这样理解的话就简单多了public class TCPReceiver {   public static void main(String[] args) throws Exception {       ServerSocket serverSocket=new ServerSocket(7759);       Socket socket=serverSocket.accept();       InputStream is=socket.getInputStream();//利用Socket得到的InputStream得到客户端发来的消息        InetAddress add=socket.getLocalAddress();             byte [] buff=new byte[1024];       int number=is.read(buff);       String temp=new String(buff,0,number);       System.out.println("InetAddress="+ add.getHostAddress());       OutputStream os=socket.getOutputStream();//利用Socket得到的OutputStream回复客户端        String message="1234567890";       os.write(message.getBytes());   }}

原创粉丝点击