- <p>import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.ServerSocket;
- import java.net.Socket;</p><p>/*
- * 服务器端接收客户端发来的数据并返回给客户端数据
- */
- public class TCPDemo2_server {
- public static void main(String[] args) {
- try {
- ServerSocket ss=new ServerSocket(10006);
- Socket s=ss.accept();
- InputStream is=s.getInputStream();
- byte[] buf=new byte[1024];
- int len=is.read(buf);
- System.out.println(new String(buf,0,len));
- //is.close();
-
- OutputStream os=s.getOutputStream();
- byte[] by="客户端更好!!!!".getBytes();
- os.write(by);
- //os.close();
- //s.close();
- ss.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.Socket;
- import java.net.UnknownHostException;</p><p>/*
- * 客户端向服务器发送数据,并接收服务器端发送过来的数据
- */
- public class TCPDemo2_client {</p><p> public static void main(String[] args) {
- try {
- Socket s=new Socket("127.0.0.1",10006);
- OutputStream os= s.getOutputStream();
- byte[] buf="客户端,我来了!!".getBytes();
- os.write(buf);
- //os.close();
-
- InputStream is=s.getInputStream();
- byte[] re=new byte[1024];
- int len=is.read(re);
- System.out.println(new String(re,0,len));
- //is.close();
- s.close();
- } catch (UnknownHostException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }</p><p>}
- </p>
复制代码 当把上面注释内容注释了能够正常运行,但是上面注释的都是从Socket中接收的输入流和输出流。
使用使用完关闭应该是没有问题的,可是把注释解除后出现异常Socket is closed。
请问这是怎么回事呢?
|