网上有一个socket的java线程通信例子跑不起来
客户端发送数字,服务器加倍后返回个客户端的一个例子,客户端运行的时候报这样一个错误
java.net.SocketException: Connection resetat java.net.SocketInputStream.read(SocketInputStream.java:189)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at java.net.SocketInputStream.read(SocketInputStream.java:203)
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:337)
at java.io.DataInputStream.readUTF(DataInputStream.java:589)
at java.io.DataInputStream.readUTF(DataInputStream.java:564)
at test11.Test11.main(Test11.java:34)
求教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这个程序是有bug的...你自己处理下吧...
这是客户端的代码
public class Test11 {
public static void main(String[] args) {
String s="";
Socket sock;
DataInputStream in;
DataOutputStream out;
try{
sock=new Socket("127.0.0.1",4331);
System.out.println("Send");
in=new DataInputStream(sock.getInputStream());
out =new DataOutputStream(sock.getOutputStream());
for(int i=1;i<10;i+=2){
out.writeUTF(" "+i);
s=in.readUTF();
System.out.print("get "+s);
Thread.sleep(500);
}
sock.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
这是服务器的代码
public class Test12 {
public static void main(String[] args) {
ServerSocket server = null;
Socket sock;
String s;
DataInputStream in;
DataOutputStream out;
try{
server=new ServerSocket(4331);
}catch(IOException e){
System.out.println(e);
}
try{
System.out.println("watting");
sock=server.accept();
out=new DataOutputStream(sock.getOutputStream());
in=new DataInputStream(sock.getInputStream());
while(true){
s=in.readUTF();
int x=Integer.parseInt(s);
out.writeUTF( ""+x+"" +x*2);
System.out.println("get "+s);
Thread.sleep(500);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
代买我贴在下面了
你...ip需要改么?看下34行...上下文.
谢谢了
for(int i=1;i<10;i+=2){
out.writeUTF(""+i);
s=in.readUTF();
客户端""里没有空格!!!!!转换成int!有空格就报异常了.