我有一個需要編程接受來自在給定的環境不同的系統的TCP數據包的服務器應用程序。這些消息可以是消息類型的有限列表;例如新庫存(新項目記錄),庫存位置更改(庫存現在位於位置X),傳送請求(請將庫存ID XYZ從位置X移至位置Y)。TCP套接字(服務器)設計
我的問題是,爲每個入站消息類型設置一個套接字(端口號)是一個好主意,這樣我就可以避免在數據報中需要某種類型的標識符來指明它是什麼類型的消息,因此讓我知道消息的格式,以便我可以處理它?
我寫斷絕在.NET但TCP郵件的發件人是現有的,non-.NET系統。我的計劃是設置一個將消息保存到MSMQ中進行進一步處理的異步服務器。 (http://msdn.microsoft.com/en-us/library/fx6588te(v=vs.110).aspx)
這無疑將是一個非常不尋常的* *的方式來做到這一點 - 這將需要更多的插座開銷假設大多數客戶端需要發送多於一個類型的消息。我不這樣做 –
這樣說吧:假設你必須在路由器上更改UDP數據包的路由。您希望與您的路由器的神祕和令人難以置信的命令界面交互多久?一個端口是綽綽有餘.. –
@馬丁eugh - 每次添加一個消息時,防火牆的變化:我的系統管理員會要求在血液 –