如何用.Net程序“托管”C++程序的Socket通信
目标C++程序是用WinSock2进行网络通信的,我想再外面加一层转发,让C++程序的网络数据通过我指定的服务器端进行转发,该怎么做?
具体点就是,有些游戏支持局域网联机,但是只要不在同一个局域网内就无法连接起来,于是就有虚拟局域网之类的技术。其中有一种是通过程序(游戏盒子或对战平台)来启动游戏,这样游戏的网络数据就会通过指定的服务器转发,间接连起来联机的游戏玩家。
有个游戏玩的人不多,我看了程序信息,里面用的是C++ Socket,但是我很想知道上述的转发功能是如何实现的。因为某个游戏平台已经可以实现其局域网联机功能了,而我想自己写个游戏盒子,虽然不用于商业用途(没钱搞服务器),但是想知道原理。毕竟是商业机密(我猜),所以哪位大神大概介绍下思路就行了。
既然说到这里,我还有个问题就是,这种实现是否会因为游戏的不同而不同,因为我看到有对应于单个游戏的“区”,但是也有同时支持多款游戏的“区”,如果确实有通用的方法,那实现难度是不是就不太了呢。
我已经用C++(WinSock2)写好了一个简单的控制台小程序,客户端发送服务端接受,现在就差让数据去其他地方兜一圈了。