黑马程序员技术交流社区
标题:
Socket问题
[打印本页]
作者:
于启会
时间:
2012-9-14 06:36
标题:
Socket问题
<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。
请问这是怎么回事呢?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2