一个java网络编程的问题

我的代码如下:packageheh;importjava.io.BufferedReader;importjava.io.IOException;importjava.i... 我的代码如下:
package heh;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
ServerSocket ss;
Socket s;
PrintWriter pw;
InputStreamReader isr;
BufferedReader br;
public MyServer(){
try {
ss = new ServerSocket(5555);
System.out.println("服务器端正在等待连接......");
s = ss.accept();
System.out.println("连接成功!!!");
pw = new PrintWriter(s.getOutputStream(),true);
isr = new InputStreamReader(s.getInputStream());
br = new BufferedReader(isr);

String name = br.readLine();
System.out.println(name);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
public static void main(String[] args) {
new MyServer();
}
}
客户端代码:
package heh;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class MyClient {

Socket s;
PrintWriter pw;
InputStreamReader isr;
BufferedReader br;

public MyClient(){
try {
s = new Socket("127.0.0.1",5555);

pw = new PrintWriter(s.getOutputStream());
isr = new InputStreamReader(s.getInputStream());
br = new BufferedReader(isr);

pw.println("Doom");

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
public static void main(String[] args) {
new MyClient();
}
}
我先运行服务端 再运行客户端 这时候服务端会报错 求看程序什么地方错了?
展开
 我来答
遗忘之雅
2015-05-07 · TA获得超过105个赞
知道答主
回答量:83
采纳率:0%
帮助的人:73.8万
展开全部
socket与server建立连接 还未完成 客户端程序执行完毕 就断开了 肯定报错
你可以试试单纯的客户端只读 或者 是只写 当然服务也是这样
简单的说服务端s.getInputStream()只做这个流的操作 客户端只做s.getOutputStream()的操作 不要同时操作

当然像你的代码那样同时操作也是可以的 就是保持连接不要断开
追问
我弄明白了,我没有刷新流。还没把信息写出去客户端程序就结束了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式