我意識到這個問題是類似的tosomeothers,但我想我的情況是足夠不同的,以保證自己的問題(希望)。在C#中建立P2P連接
什麼我打算上部署另一個人的計算機上的程序將打開我的電腦連接之後,我假設,計算機應該能夠相互通信。一旦程序啓動後,它應該能夠將地址信息和端口(如果它們未被阻止)創建連接,對吧?
更重要的是,我住在宿舍的上網本配置,每間客房都分配一個唯一的端口,並通過DHCP服務器分配一個靜態IP地址。我如何將這個因素考慮進我的程序的設計中?
我在想,這個設置並不需要一臺服務器作爲中間接入點,因爲我的詳細地址將始終保持不變,主機可以直接連接到我的電腦沒有進一步的信息。它是否正確?
最後,我正在閱讀一些關於創建連接的頁面,但是它與TcpConnection,WCF,CORBA等的所有可能性混淆在一起。對於我來說,哪一個實際上是最簡單的假設我只想要發送消息到其他機器?
更新:
的地址是在這個意義上,它不會改變靜態的。我的IP地址的形式130.83.20.xxx的,我可以等待DHCP服務器分配我這個地址,或者我可以使用靜態IP配置手動輸入自己。
至於消息本身,簡單的文本消息就足以開始。前面提到的端口是交換機端口,我相信在網絡編程期間不會起作用。
爲了指導您,我們需要更多地瞭解您的目標。根據你需要發送的數據的性質,TcpConnection可能是不錯的,但是也許一個簡單的WCF服務會更好。我不明白當你說每個房間都分配了一個端口和靜態IP時,你的意思是......你的意思是物理端口,如果是這樣,在網絡編程期間不起作用。然而,TCP/UDP端口非常重要。你需要什麼端口可供你使用。 – Nate
@Nate:謝謝你的擡頭。就目前而言,我只想在朋友的電腦上測試這個程序,並且我認爲簡單的文本消息,比如「你好,你好嗎?」應該沒事。那麼,例如我的IP地址是130.83.20.103或類似的東西。它不會改變。 DHCP服務器分配給我這個地址,或者我可以手動輸入它。每個房間都有一個可以被中央IT管理部門阻止的端口。這些是我相信的交換機端口。 – IAE
如果DHCP服務器可以爲您分配一個IP地址「130.83.20.103」,那麼您不需要手動配置自己擁有該IP地址。如果你這樣做了,並且DHCP服務器將該地址分配給其他人,那麼你將最終產生IP地址衝突,並且實際上對於由DHCP服務器給出該IP地址的惡意吸食者實施拒絕服務攻擊。 – Justin