2015-12-03 32 views
1

我想構建一個簡單的客戶端/服務器應用程序,它允許兩臺不同的計算機來回發送消息,即某種類型的聊天消息傳遞。我一直無法理解的是如何編寫我的客戶端/服務器應用程序,服務器程序將駐留在哪裏。例如,如果我只有兩個人連接到服務器進行通話,他們應該與之通話的服務器程序將駐留在某個地方,然後它們會將其消息傳遞迴每臺計算機上的客戶端。瞭解客戶端/服務器關係C++

所以一旦我有這個服務器,我會把它放在哪裏,這樣雙方都可以說話?我是否真的必須將它託管在某個地方,即在互聯網上購買空間,或者我可以跳過這種方式,並允許兩臺計算機在沒有中間人的情況下簡單地通過互聯網進行通話。

+0

只要兩個客戶端都知道運行服務器的計算機的地址,它就可以在任何地方運行。即使在與其中一個客戶端相同的機器上。 (如果你知道彼此的地址,你可以在沒有服務器的情況下直接通信。) – molbdnilo

+0

如果這隻限於兩個人,你可以將它託管在與客戶端一起使用的同一臺計算機上(實質上就是主人)。 –

+0

@Floris Velleman因此,我可以將服務器託管在自己的機器上,並將客戶端程序分發給其他人?這將工作。 – Rethipher

回答

0

您可以在自己的服務器上運行程序。這將允許您從任何位置連接到該服務器(如果您設置了該位置)並將該客戶端與該服務器一起使用。

理想情況下,我希望能夠在任何計算機上打開該程序並通過用戶分配的別名解析IP地址。

這將通過搭建自己的服務器來解決。如果你沒有服務器,你可以去一個託管你應用程序的地方(可能花錢)。

你也可以從計算機上運行它,你從啓動客戶端,但將要求其他用戶連接到計算機而不是有你的服務器的靜態位置(和你允許該/防火牆)。