进程是否可以使用由另一个进程创建的套接字?

时间:2010-07-19 00:52:40

标签: c# windows process sockets

我想创建一个获取ipv4 tcp表的应用程序(当前使用GetTcpTable()),然后获取一个套接字(搜索特定的IP地址)并从该连接中查看数据(实际上必须发送)数据也是如此。

因此,我们在同一台机器上有两个进程,一个与服务器连接,另一个利用该连接从其中查看/发送数据。

是否可以使用由其他进程创建的套接字?

我正在为视频游戏编写一个附加应用程序,并且需要与游戏所连接的服务器“对话”。

2 个答案:

答案 0 :(得分:1)

一般来说,通常没有这样做的方法。一种方法可能是编写一个中间人进程(也称为“代理”),在其中设置游戏以连接到您的程序,然后连接到游戏服务器。然后,游戏和服务器之间的所有通信都将通过您的应用程序,您可以随意检查和修改数据。

答案 1 :(得分:1)

不,这是不可能的。

您可以做的最好的事情是为游戏服务器编写代理,让客户端连接到代理服务器。然后,与服务器的所有通信都将通过代理,您无论如何都可以注入自己的命令。

通常,游戏会使用DNS来查找服务器。因此,要创建代理,通常需要为游戏的DNS添加条目并将其重定向到127.0.0.1。启动您的代理以在与游戏服务器相同的端口上运行,并且将发生的事情是游戏将服务器的DNS解析为您的代理。