两台计算机建立Socket连接,抛该例外什么意思?
pvii 2004-07-11 08:01:39 以下一个是server,一个是client
在单机上发信息可以,但在局域网里发送抛如下例外,怎么解决啊?
(我没开防火墙)
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(Unknow
n Source)
at java.io.ObjectInputStream$BlockDataInputStream.refill(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.skipBlockData(Unknown
Source)
at java.io.ObjectInputStream.skipCustomData(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at OthelloServer.runServer(OthelloServer.java:37)
at OthelloServer.main(OthelloServer.java:58)
import java.io.*;
import java.net.*;
public class client
{
public static void main(String[] args)throws Exception
{
Socket client =
new Socket(InetAddress.getLocalHost(),
Integer.parseInt(args[0]));
ObjectOutputStream out =
new ObjectOutputStream(client.getOutputStream());
out.flush();
ObjectInputStream in =
new ObjectInputStream(client.getInputStream());
out.writeObject(new String("demo"));
out.flush();
}
}
import java.io.*;
import java.net.*;
public class server
{
public static void main(String[] args)throws Exception
{
ServerSocket server =
new ServerSocket(Integer.parseInt(args[0]),2);
Socket con= server.accept();
ObjectOutputStream out =
new ObjectOutputStream(con.getOutputStream());
out.flush();
ObjectInputStream in =
new ObjectInputStream(con.getInputStream());
String info = (String)in.readObject();
System.out.println("client send "+info);
Thread.sleep(1*1000);
}
}