关于JAVA SOCKET的一个问题,整了一天半都没结果。请大家帮忙看看。

Believe 2010-04-22 10:51:44
我是JAVA的Socket编程初学者,
昨天遇到一个问题搞了一天都没有解决,
这个程序在别人的电脑上用都可以通过,只有在我的电脑上无法通过
,我一开始装的是JDK6.0,后来卸载了装成了JDK5.0(为了和所学教程保持一致,
以及我宿舍通过测试的机器也是装的JDK5.0),
但是依然通不过,郁闷中,希望各位高手帮忙解决。
程序代码如下:
----服务器端
import java.io.IOException;
import java.net.*;
public class TCPServer {
public static void main(String[] args) throws Exception{
ServerSocket server = new ServerSocket(97); //binding listening
Socket s = server.accept(); //blocking
System.out.println("a client connect!");
}
}
----客户端
import java.net.*;

public class TCPClient {
public static void main (String args[]) throws Exception {
Socket s = new Socket("127.0.0.1",97);
}
}

运行结果如下:(由于无法粘图,手动敲了)
D:\java\ten>java TCPserver
Exception in thread "main" java.net.BindException:Cannot assign reguested address:JVM_Bind
at java.net.PlainSocketImpl.socketBind<Native Method>
at java.net.PlainSocketImpl.bind<PlainSocketImpl.java:359>
at java.net.ServerSocket.bind<ServerSocket.java:319>
at java.net.ServerSocket.<init><ServerSocket.java:185>
at java.net.ServerSocket.<init><ServerSocket.java:97>
at TCPServer.main(TCPServer.java:7)

...全文
170 24 打赏 收藏 转发到动态 举报
写回复
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Believe 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yueguangkai001 的回复:]
Server 和Client端的端口一致
[/Quote]
我写的不是一致的吗?
Believe 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 bao110908 的回复:]
你用:

netstat -ano | find ":97"

命令,看一下是否有程序将这个端口占用了。
[/Quote]
试了,没有被占。试80端,出现占用着端口的列表。
  • 打赏
  • 举报
回复
你用:

netstat -ano | find ":97"

命令,看一下是否有程序将这个端口占用了。
无聊司马 2010-04-22
  • 打赏
  • 举报
回复
刚测试了就是97的问题
我弄的是6666
无聊司马 2010-04-22
  • 打赏
  • 举报
回复
97不对
这个数字要弄大点最好是上1200以上
yueguangkai001 2010-04-22
  • 打赏
  • 举报
回复
Server 和Client端的端口一致
Believe 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 keeya0416 的回复:]
代码没问题的呀
是不是你第3方东西装多了
多试几个端口
[/Quote]
我试了N 个端口了,从两位的到四位的,甚至试了65530.都不可以……
bgt55t 2010-04-22
  • 打赏
  • 举报
回复
我也不知道网站是什么语言,但看一勉强看懂
yueguangkai001 2010-04-22
  • 打赏
  • 举报
回复
不同的电脑所占用的端口不一样,因为所依赖的服务也不一样
在1000以内的是系统占用端口,如果说在你同学那边去成功了只能说明他的机器运气好,刚好没有占用97这个端口,所以你只要将端口换一下就OK了,最好不要用1000以内的,如果其他端口还被占用,接着再换
keeya0416 2010-04-22
  • 打赏
  • 举报
回复
代码没问题的呀
是不是你第3方东西装多了
多试几个端口
Believe 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiesisi3 的回复:]
这个程序在别人的电脑上用都可以通过,只有在我的电脑上无法通过

Are you sure?
[/Quote]
恩,我一共试过三台电脑,同宿舍的一台,另外发给了两个同学,他们也试过,可以。
Believe 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java_cxrs 的回复:]
换个 位数大点的端口

比如 9999 什么的
[/Quote]
换了,还是不行。我用系统已经占了的端口不应该是提示already assign之类的错误吗。我这个好像是根本没法和指定的端口号产生联系是的。是不是防火墙要设置什么?
xiesisi3 2010-04-22
  • 打赏
  • 举报
回复
这个程序在别人的电脑上用都可以通过,只有在我的电脑上无法通过

Are you sure?
iamBosss 2010-04-22
  • 打赏
  • 举报
回复
,把端口改一下。
不善^ 2010-04-22
  • 打赏
  • 举报
回复
恩 1000之内端口最好不要使用 以免发生冲突
zuoguodang 2010-04-22
  • 打赏
  • 举报
回复
你绑定的端口是97,这怎么行呢,你最好使用1000之后的,97系统已经占用了
不善^ 2010-04-22
  • 打赏
  • 举报
回复
换个 位数大点的端口

比如 9999 什么的
番茄配黄瓜 2010-04-22
  • 打赏
  • 举报
回复
up!
Believe 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 mtawaken 的回复:]
我跟宿舍人曾经做一个项目也是有这个问题,当时端口什么的都设的没有问题,就一个人的机器死活连接不上,其他几个人都好的。不知道他机器哪里设置不对……
对了,LZ有没有试过重装系统或者虚拟机什么的?
[/Quote]
没有冲撞系统,虚拟机倒是重新装了两次。呵呵,不过下午关掉瑞星防火墙以后就能运行了。也搞不懂为什么关掉windows的防火墙无用,必须要管瑞星的,而且 把瑞星防火墙里面的选项全部去掉开启也不行,必须保持关闭状态。
mtawaken 2010-04-22
  • 打赏
  • 举报
回复
我跟宿舍人曾经做一个项目也是有这个问题,当时端口什么的都设的没有问题,就一个人的机器死活连接不上,其他几个人都好的。不知道他机器哪里设置不对……
对了,LZ有没有试过重装系统或者虚拟机什么的?
加载更多回复(4)
相关推荐

62,568

社区成员

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