首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用java实现TCP套接字编程和多线程

用java实现TCP套接字编程和多线程
EN

Stack Overflow用户
提问于 2015-12-14 16:28:53
回答 2查看 349关注 0票数 1

我想使用Java中的TCP套接字在三台计算机之间发送和接收数据

  • 第一台计算机从键盘上获取数据并将其发送到第二台计算机。
  • 第二台计算机接收来自第一台计算机的数据并将其发送到第三台计算机。

我的问题是:我能否在第二台计算机(它接收来自第一台计算机的数据并同时发送给第三台计算机)中实现TCP套接字程序,而不使用多线程?

EN

回答 2

Stack Overflow用户

发布于 2015-12-14 16:36:02

是的你可以。(但这可能很愚蠢)

只需绑定一个端口并在服务器2上监听它。服务器1连接到服务器2并发送数据。服务器2读取数据,连接到服务器3,并在同一线程上发送数据。

没有多线程,您既可以读取服务器1的输入,也可以将数据发送到服务器3,而且只能一个接一个地处理来自服务器1的数据。该程序将缓慢工作(不能更快,因为它可以与多线程)。

票数 1
EN

Stack Overflow用户

发布于 2015-12-14 16:39:36

您应该使机器2作为服务器,它将侦听一些固定的ip:端口。使机器1和3作为客户端,在固定ip:端口上连接到机器2。

关于多线程,您可以通过使用轮询/select来减少服务器线程。请参考链接Is there epoll equivalent in Java?,更好地解释投票/选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34271977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档