如何解决Java服务器套接字多房间
我正在尝试找到一种创建多房间套接字的方法。因此,用户可以在其他房间聊天,也可以与其他用户私下聊天。是否可以使用java.net.socket
和/或java.net.ServerSocket
来做到这一点?
做到这一点的最佳方法是什么?我需要为每个房间和私人聊天打开一个新端口吗?
我可以通过IDE看到有一个套接字getChannel()
,但找不到任何有关此的信息。
也许我看错词了。
我希望有人可以帮助我:)
解决方法
是的,有一种方法可以做到。您需要为每个连接到服务器的用户创建一个新线程,并将用户名和套接字存储在map
为所有用户实现线程的最简单方法如下
ServerSocket serverSocket = new ServerSocket(6666);
while (true){
new User(serverSocket.accept()).start();
}
然后,您只需要使用ovveride run()方法来监视用户是否在消息中指定了将任何消息发送到我们的服务器并将其传递给用户的情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。