port should not be zero it's between 1 to  65535

解决方案 »

  1.   

    port number should not be zero, it's between 1 to 65535
      

  2.   

    SimpleServer server = new SimpleServer(0);
    你端口号怎么为0?改一个吧,如楼上所说,随便一个比如1234就行
      

  3.   

    你的代码我没有详细看。
    你既然用了一个随机端口号,那对方是怎么知道你随机打开的端口号是多少?
    一般是这样设计的:
      用一个固定的端口号来实现连接,然后用产生随机端口号来实现连接一些比较重要的信息,随机产生的端口号通过固定端口号来传送。有问题发email:[email protected]
      

  4.   

    注意,socket编程中客户机和服务器通信主要是ip地址和端口号
    ip地址定位主机,端口号定位服务器进程
      

  5.   

    老兄到底想干什么呢?你启动了服务器之后与http://210.83.203.125:8080/examples/servlet/newSimple联系交换数据,再在随机端口dd上监听,到底那个部分出错?如果是210.83.203.125:8080连不上,那你在这个机器上启动Web服务器了吗?
      

  6.   

    我做的是一个扑克游戏:
    一、我的程序不是基于WEB的。
    二、http://210.83.203.125:8080/examples/servlet/newSimple是为了传送随机取得的端口号给服务器端。
    三、上面这段程序是放在我的应用程序的客户端,通过连接服务器得到一些数据,相通过SOCKET传给其它人。
      

  7.   

    伙计,你的simpleServer程序放在局域网中,其地址与210.83.203.125是否相同,如果再局域网中的俩台机器测试的话,可能和因为相同地址而连不上socket.
      

  8.   

    我做的是个扑克游戏(不是基于WEB的),最多三个玩家。
    为了把发给我的牌送到其他玩家显示:把这段程序放到我的应用程序的客户端,取得随机端口后用序列化的方式传到服务器端,在服务器端得到每个玩家的IP,在服务器端发牌后,把牌用SOCKET传给其他玩家,而我的牌还是用序列化的方式传回来。
    现在我们遇到的问题是:
      一台机器用的是实IP,我的机器是通过代理服务器出去的。服务器端程序放在了实IP的机器上。
      现在,服务器端程序得到的是代理服务器的IP,通过随机取得的端口号找不到我的机器。也就是说SOCKET传不过来值。
      

  9.   

    你在代理后面,让别人用Socket连你是很困难的,应该是你连过去。