qq_25134045
TeslaHua
采纳率0%
2016-03-21 03:40 阅读 3.0k

利用java socket 写的一个联机的五子棋游戏,服务器端和客户端的问题,大神求教啊。。

利用java socket 写的一个联机的五子棋游戏,一个服务器端的程序和两个玩家的客户端程序,可不可以都运行在同一台主机上啊?
我运行服务器端和其中一个玩家的客户端程序时,正常。但是运行第二个玩家的客户端程序时,就出现了
Java.net.BindExecption Address already in use: JVM_Blind. 的异常。怎么办?

还有我打算客户端把下的棋子的对象传给服务器端,服务器再把这个玩家传来的对象实例,发送给另一个玩家。可行吗? 非静态内部类是不是不能序列化?

大神,求教啊。。。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • oBlast1 oBlast1 2016-03-21 09:52

    同一个端口被多个socket绑定的时候就会出现这个问题 你两个客户端的端口改成不一样的应该就可以了

    点赞 1 评论 复制链接分享
  • qq_25134045 TeslaHua 2016-03-21 03:43

    自己顶啊,大神呢??快来呀 。。。。说明白了 以身相许呀。。。。。

    点赞 评论 复制链接分享
  • huyoufu200920201078 bule_sky_fuxing 2016-03-21 03:46

    BindExecption Address already in use
    socket问题bind的时候,IP和端口号是不是一样?

    点赞 评论 复制链接分享
  • Royal_lr Royal_lr 2016-03-21 05:14

    你这个可能是开启第二个的时候重新开了一个socket,,具体还得看下代码

    点赞 评论 复制链接分享
  • snailplus snailplus 2016-03-21 13:24

    你的两个客户端使用的端口是一样的,并使用同一个jvm在同一台机器上启动,必然冲突。
    客户端配置不同端口号,服务器端可以通过线程也配置不同端口号。
    或者你可以用两个java运行环境尝试,一个环境启动一个客户端。(未试验过)

    点赞 评论 复制链接分享

相关推荐