gpt4 book ai didi

java - 如何使用 SocketServer 与 Java 客户端进行通信?

转载 作者:行者123 更新时间:2023-12-01 15:40:19 27 4
gpt4 key购买 nike

首先,我对Socket通信的使用还很陌生,所以还有一些东西我不知道。我了解 Java 中 Socket 通信的基础知识,因此我在这里寻求指导。

现在,关于我的问题,我需要构建与远程应用程序的服务器套接字通信。在我的应用程序中,我将运行 serverSocket,其他应用程序上的客户端将与我进行通信。为此通信实现的协议(protocol)的一部分是必须始终打开该套接字,这为我们提供了两个应用程序之间的一个永久通信 channel 。

到目前为止,没有什么非常奇怪的事情。问题是我需要使用 mi serverSocket 来启动与客户端的对话。这意味着我的 serverSocket 将需要在客户端未请求的情况下向客户端发送一些信息。

对于定义,我理解 serverSockets 是等待客户端打开与它们的连接的线程,一旦建立了此连接,应用程序之间的对话通常会从客户端的一些请求(即 ENQ 字符)开始,以启动信息交流;这是针对实现了某种协议(protocol)来验证、发送和接收数据的情况。否则,信息是由客户端在没有经过严格验证和控制的情况下发送的。

在正常情况下,如果我的应用程序可以使用客户端与远程应用程序上的 serverSocket 进行通信,我的问题将以更自然的方式处理。但这种情况并非如此。远程应用程序不能有serverSocket,它只能有一个Client(别问我为什么,这是商业伙伴的应用程序,不是我自己的,目前他们还不愿意改变他们的通信方案)。

考虑到这一点,我的问题是:有一种方法可以使用正在运行和等待的 serverSocket 在应用程序中的进程需要时将一些信息从我的应用程序发送到远程客户端?我如何从应用程序中的第三个 bean 调用 serverSocket 中的打开套接字以在其上写入?

最佳答案

听起来您正在寻找的是 UDP 套接字。

Give the DatagramSocket class a look.

关于java - 如何使用 SocketServer 与 Java 客户端进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8159097/

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