我不太確定爲什麼這不會工作。我的應用程序工作正常,如果客戶端和服務器運行在同一臺PC上,因此127.0.0.1但它不會連接到我的其他筆記本電腦使用IP 82.41.108.125這是該設備的IP。UDP無法連接到127.0.0.1以外的任何其他東西
爲什麼會出現這種情況?
我不太確定爲什麼這不會工作。我的應用程序工作正常,如果客戶端和服務器運行在同一臺PC上,因此127.0.0.1但它不會連接到我的其他筆記本電腦使用IP 82.41.108.125這是該設備的IP。UDP無法連接到127.0.0.1以外的任何其他東西
爲什麼會出現這種情況?
假設你所有的編碼工作正常,你的防火牆很可能會阻塞端口 - 嘗試打開你運行應用程序的端口號(在客戶端/服務器comptuers的防火牆選項中)。
應闡明事一些光一些額外的信息
網絡設備使用ARP(地址解析協議)和RARP(反向地址解析協議)來映射IP地址鏈接層(MAC)地址和背部。您的網絡接口卡(插入到以太網電纜的東西)將在兩臺計算機上具有唯一的MAC地址。每臺PC都有一個爲其配置的IP,由更高級別的協議(網絡層中的那些協議)使用。
如果您的程序正常工作,計算機A將知道計算機B的IP地址(它將與計算機A不同)。當計算機A發送給計算器B時,假設它們直接連接,並且不通過路由器或其他計算機之間的路由器,則計算機A的鏈路層將需要將該計算機B的IP轉換爲它可以使用的MAC地址。它通過向同一子網絡上的所有網絡PC發送廣播來詢問「嘿,這是你的IP!」嗎?本質。有一個IP與廣播的IP匹配是的,「是的,這是我的 - 這是我的MAC地址,所以你可以直接和我說話。」
因此,如果兩臺計算機具有相同的IP,則全部進入下一步:)不這樣做 - 給它們唯一的IP並確保計算器A傳輸到計算機B正在監聽的相同UDP端口和IP以及。通訊工作在{IP,Port}對中 - 就像電話號碼和區號。
也...
正如所說的EJP - UDP是無連接協議 - 計算機公正發送到計算機B,希望B計算機正確監聽。如果計算機B沒有在監聽或者處於正確的狀態下處理數據,數據將被丟棄並丟失。計算機A不會知道發生了這種情況。如果你想要可靠的通信,它會繼續嘗試,你可以保證計算器B收到計算機A的數據,然後使用TCP代替 - 它建立連接並使用確認進行3次握手,以確保數據在沒有時重新傳輸到達另一端。
在筆記本電腦上檢查防火牆......大部分時間充當垃圾運輸。
UDP不'連接'任何東西。你的意思是'發送'或'接收'。 – EJP
我編輯了我的帖子,添加了一些可以幫助你理解事物的信息。 –