![]() |
1
3
“我还希望从双方开始互动,让经理可以随时对员工说些什么。” 简单的回答。不要。 从现有协议中学习:拥有一个客户机和一个服务器。事情会好起来的。worker可以是服务器,manager可以是客户机。经理可以提出许多要求。工作人员在请求到达时对其进行响应。 点对点可能很复杂,没有真正的复杂性价值。 |
![]() |
2
2
我希望在服务器和客户机之间建立一个持久的双向通道。 如果你只有 一 服务器和 一 客户端,那么没有冲突问题…如果服务器接受一个连接,它就知道它是客户机,反之亦然。两者都可以在同一个套接字上读写。 现在,如果您有多个客户机,并且您的服务器需要专门向客户机X发送请求,那么您需要 握手 ! 当客户端启动时,它连接到服务器。一旦建立了这个连接,客户机就将自己标识为客户机X(握手消息)。服务器现在知道它有一个对客户机X开放的套接字,每次需要向客户机X发送消息时,它都会重用该套接字。 幸运的是,我刚刚写了一个关于这个精确问题的教程(包括示例项目)。用荨麻!:) 链接如下: http://bruno.linker45.eu/2010/07/15/handshaking-tutorial-with-netty/ 注意,在这个解决方案中,服务器 没有 尝试连接到客户端。总是客户机连接到服务器。 如果每次想发送消息时都想打开一个套接字,那么应该重新考虑持久连接,因为它们避免了连接建立的开销,从而将数据传输速度提高了n倍。 |
![]() |
3
1
我想你需要在插座上阅读…… 你不会真的遇到这些问题……除了如何响应地处理接收和发送之外,通常这是通过将通信线程化来完成的……根据应用程序的不同,您可以采取多种方法来实现这一点。 |
![]() |
4
1
brunodecarvalho回复中提到的握手/网络教学的正确链接是
http://bruno.factor45.org/blag/2010/07/15/handshaking-tutorial-with-netty/
|
![]() |
5
0
如果你想重新发明轮子,不想使用中间件… 设计您的协议,以便其他对等方对您的请求的回答总是容易地与其他对等方的请求区分开来。然后,仔细选择网络I/O策略。负责从套接字读取的任何代码都必须首先确定传入数据是对发送的数据的响应,还是来自对等端的新请求(查看数据的头,以及您最近是否发出了请求)。此外,您还需要保持适当的排队,以便当您向对等方的请求发送响应时,它与您发出的新请求正确地分开。 |
![]() |
Doua Beri · Netty SMTP代码-服务器端 7 年前 |
![]() |
Abhijit Sarkar · 如何解压缩通量(以及如何编写通量)? 7 年前 |
![]() |
elPsyChris · Vertx Eventbus无法发送节点间 7 年前 |
![]() |
St.Antario · Netty中的I/O线程是什么? 7 年前 |
![]() |
konstantin · Netty NIO:读取收到的消息 7 年前 |