一个简单的网络通信程序,在98下可以通信,在xp下不行,请大虾看看为什么?附程序,很简单!

xddjd 2003-06-09 09:58:58
Socket端的程序:
import java.io.*;
import java.net.*;

public class Server
{
public static final int PORT = 8080;
public static void main(String[] args) throws IOException
{
ServerSocket s = new ServerSocket(PORT);
System.out.println("ServerSocket:" + s);
try
{
Socket socket1 = s.accept();
try
{
System.out.println("Connection to client accepted:" + socket1);
System.out.println("remote getInetAddress()="+ socket1.getInetAddress());
System.out.println("local getLocalAddress()=" + socket1.getLocalAddress());
System.out.println("local getLocalPport()=" + socket1.getLocalPort());
System.out.println("remote getPort()=" + socket1.getPort());
}
finally
{
System.out.println("closing socket");
socket1.close();
}
}
finally
{
s.close();
}
}
}



Client端的程序
import java.io.*;
import java.net.*;

public class Client
{

public static void main(String[] args) throws IOException
{
Socket socket1 = new Socket(args[0],Integer.parseInt(args[1]));
try
{

System.out.println("Connection to server accepted:" + socket1);
System.out.println("remote getInetAddress()="+ socket1.getInetAddress());
System.out.println("local getLocalAddress()=" + socket1.getLocalAddress());
System.out.println("local getLocalPport()=" + socket1.getLocalPort());
System.out.println("remote getPort()=" + socket1.getPort());
}
finally
{
System.out.println("closing socket");
socket1.close();
}

}
}

只是建立一个简单的连接,两个程序在同一台计算机运行,但是98下运行正常,即建立连接,屏幕输出,但是在winxp下不行?为什么?请指点!
...全文
27 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sheepy 2003-06-09
  • 打赏
  • 举报
回复
可能是因为XP的防火墙在捣鬼。关掉它。
thinkerhj 2003-06-09
  • 打赏
  • 举报
回复
把错误信息贴出来吧
xddjd 2003-06-09
  • 打赏
  • 举报
回复
现在已经搞清楚了,多谢!
原因是98和xp装的时候用户名(ID)不一样,跟防火墙也有关系!
xddjd 2003-06-09
  • 打赏
  • 举报
回复
先运行java Server以后,屏幕出现
ServerSocket:ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8080]


在运行java Client djd 8080
出现以下错误:
Exception in thread "main" java.net.UnknownHostException: djd
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at Client.main(Client.java:9)

在xp下已关闭防火墙

在98下两者就可以成功连接,并按程序输出相应结果!
请各位指教!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧