gpt4 book ai didi

Java TCP 服务器套接字在不同端口上接受多个客户端

转载 作者:可可西里 更新时间:2023-11-01 02:42:45 24 4
gpt4 key购买 nike

我正在尝试构建一个能够在不同端口同时与多个客户端建立多个 TCP 连接的套接字。

情况是我的套接字必须从服务器接收命令并将命令重定向到无线传感器(一个命令到一个传感器,而不是广播),并能够从传感器收集相应的数据,然后将它们发送回服务器。与服务器的连接将使用 TCP,但与传感器的连接可以是 TCP 或 UDP。我主要关心的是 TCP 连接。我正在研究 java 多线程或线程池套接字教程。但是我看到的示例仅使用一个端口来处理所有连接。我也在尝试研究其他可能的解决方案:利用 tomcat 服务器、java servlet/JSP、套接字 channel 等......

我不是网络或套接字编程方面的专家,所以我真的希望有经验的人能为我指明正确的方向。感谢您在此情况下提供的任何帮助。

不确定我是否完全理解,但似乎没有必要为我的情况获取多个端口。似乎我需要关注多线程套接字和 Java NIO 主题?

再次感谢您的建议和帮助。

最佳答案

这是一个相当大的项目,需要在这里完整地回答。但这里有一些通用指南:

1) 如果你想在一个端口上创建一个套接字,你需要创建一个线程来运行它。这称为服务器套接字。因此,您需要从主线程为每个端口上的每个套接字调用一个线程。

2) 每个服务器套接字一直监听某个端口并等待客户端连接。当客户端实际连接时,服务器套接字应该单独为该连接打开另一个线程并返回监听。

while(myServerSocket.accept()){ 打开连接线程

我的建议是在线学习如何从类(class)中打开话题,然后按照上面的指南进行操作。

关于Java TCP 服务器套接字在不同端口上接受多个客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24457023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com