我使用基於ZeroMq和NetMQ(在這兩個項目同樣的問題)ZeroMQ/NetMQ - 是否有可能定義一個「客戶」
我有應用程序運行防火牆後面的通信的源端口,
位於服務器端的易上定義開入站流量的端口,
但是在客戶端看來,我能夠只指定目標(又名服務器)地址和端口。
是否可以定義哪個端口將用於客戶端應用程序的出站流量。
例如(在NetMQ)
using (NetMQContext ctx = NetMQContext.Create())
{
using (NetMQSocket snapshot = ctx.CreateSocket(ZmqSocketType.Dealer))
{
// connect to remote address, no place to specify outbound port
snapshot.Connect("192.168.1.10:5555");
}
}
在我們有一個服務器和
服務器機器A(192.168.1.10)上運行的客戶端一個簡單的通訊方案 - 並偵聽端口5555
客戶端機器B(192.168.1.9)上運行 - 並且正在發起到服務器的通信(A)如果我們看一下對T通信信息
他的客戶,我們會看到系統分配 端口XXXXX(例如51234)及部分出站到192.168.1.10:5555
在大多數情況下,XXXXX端口是由系統(自由港)分配,然而, 極端情況下,XXXXX端口需要是特定的端口(由於極端的安全環境)
??同一端口5555用於從客戶端到服務器的經銷商套接字通信。如果這不是答案,則需要改進問題。 – 2014-09-24 12:11:49
你能解釋你遇到的問題嗎?爲了詳細說明@JohnJefferies所說的話,把你的服務器看作一個房間,將你的客戶看作是一個相鄰的房間,並且你說「很容易告訴人們進入服務器房間來進門,但是當我離開客戶房間,我該如何選擇通過哪個門?「這是兩面牆上的同一扇門。 – Jason 2014-09-24 19:03:03
我增加了一些解釋,希望能夠解決這個問題 – 2014-09-24 19:47:12