黑马程序员技术交流社区

标题: TCP服务端没让它close,怎么发完数据后还是关闭了 [打印本页]

作者: 我叫MT    时间: 2014-2-7 16:21
标题: TCP服务端没让它close,怎么发完数据后还是关闭了
  1. import java.io.*;
  2. import java.net.*;
  3. class TcpClient       
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 //创建客户端的Socket服务,指定目的主机和端口。
  8.                 Socket s = new Socket("192.168.1.106",10003);
  9.                 //为了发送数据,应获取Socket服务里的输出流
  10.                 OutputStream out = s.getOutputStream();
  11.                 out.write("给你发点数据".getBytes());
  12.                 s.close();
  13.         }
  14. }

  15. class TcpServer
  16. {
  17.         public static void main(String[] args) throws Exception
  18.         {
  19.                 //1.建立服务端的socket服务。并监听一个端口
  20.                 ServerSocket ss = new ServerSocket(10003);
  21.                 //2.通过accept()方法获取连接过来的客户端对象
  22.                 Socket s = ss.accept();
  23.                 String ip = s.getInetAddress().getHostAddress();
  24.                 System.out.println(ip+"||||");
  25.                 //3.获取到该客户端对象的读取流来读取发过来的数据
  26.                 InputStream in = s.getInputStream();
  27.                 byte[] buf = new byte[1024];
  28.                 int len = in.read(buf);
  29.                 System.out.println(new String(buf,0,len));
  30.         }
  31. }
  32. /*
  33. H:\testjava>javac TcpDemo.java
  34. H:\testjava>java TcpServer
  35. 192.168.1.106||||
  36. 给你发点数据

  37. H:\testjava>
  38. */
复制代码



作者: FFF    时间: 2014-2-7 16:52
没有阻塞,程序是自然结束。
作者: 我叫MT    时间: 2014-2-7 22:08
FFF 发表于 2014-2-7 16:52
没有阻塞,程序是自然结束。

哦,明白了
作者: 放课后小朋友    时间: 2014-2-12 00:35
楼主3f说的没错,“没有阻塞,程序自然结束”
如果想要服务器不停的接受客户端内容,可以加个while循环,小小例子如下:
while(true){
       byte[] buf=new byte[1024];
       DatagramPacket dp=new DatagramPacket(buf,buf.length);
       ds.receive(dp);
       String ip=dp.getAddress().getHostAddress();
       String data=new String(dp.getData(),0,dp.getLength());
       System.out.println("ip地址:"+ip+"....对话:"+data);
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2