2011-01-20 24 views
0

這是一個普遍問題,所以沒有具體的編程語言。在開發套接字服務器時處理公共/私有IP的一般問題

我開發一個聊天服務器是我的用戶使用我的任何客戶端應用程序登錄,使用TCP協議的一個非常簡單的實現。

當用戶登錄到,客戶端向原始文本到服務器指示相同用戶名,其他一些參數,最重要的WAN IP。這些數據存儲在服務器數據庫中。在數據庫中搜索其他在線用戶的算法執行後,服務器向一對用戶發送其他用戶的IP和用戶名,以便客戶端可以在不使用服務器的情況下直接相互連接。

因此,服務器的行爲只是一個集合點。那麼所有這些工作正常,用戶不在私人網絡內部,如無線路由器。我真的不知道如何解決這個問題,所以任何幫助你們可以給予讚賞。對我的英語感到抱歉。

如果這有幫助,客戶端將在AS3中使用XMLSocket和使用VB6與winsock進行編程。

回答

0

客戶端無需發送自己的WAN地址。服務器可以從連接查詢它。例如,請參閱Win32文檔中的accept函數。我查了VB6 Winsock Accept函數,它似乎沒有公開相同的功能,但是在VB6中可能有另一種方法。我所知道的所有語言都有。

+0

它看起來像Winsock對象的`RemoteHostIP`屬性是這個接口。 – caf 2011-01-20 04:19:32

相關問題