是否可以通过java中的套接字连接读取从C++服务器程序发送到C++客户端的数据流?我有端口号和服务器IP等详细信息。
或者我需要将整个C++客户端反编译成Assembly,然后以某种方式将其翻译成java才能做到这一点?
不过,我真的不确定它正在转换什么样的数据。。有人告诉我编码HTTP服务器并在路由器上运行,但我真的不确定这是否可行?
这是用图解的方式看它。
Server generates data.
it puts it in a packet.
it encrypts the packet.
and sends it over the wire.
It gets to a user’s Computer (= client). (I should be in the control now on..)
(If I could somehow read data at this part?)
The client reads the encrypted packet.
(If I could somehow read data at this part?) (The later, the better :D)
The client decrypts the packet.
(If I could somehow read data at this part?) (The later, the better :D)
The client does something.
如前所述,客户端是.exe文件,并且使用C++进行编码。我没有它的源代码。
您所要做的就是定义好您的应用程序协议。这就是数据流的格式。只要你在两端使用相同的格式,你使用的语言或程序并不重要。想象一下你的浏览器和网络服务器。它们都使用相同的应用程序协议(HTTP),但它们是完全不同的程序。更重要的是,存在不同的网络服务器和不同的浏览器。
然后,你所需要做的就是使用java套接字来监听某个特定的端口,并使用c++套接字来写入特定的端口。只需确保你知道信息是如何"组织"的。