欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

c# socket TCP P2P 要怎樣才能讓同一端口重新連接

admin
2017年4月12日 1:11 本文熱度 7075
最近在做相關(guān)的東西,我是這樣理解P2P的:A和B都向S通信,如果A要連接B,需要先創(chuàng)建一個(gè)SOCKET SA連接S的一個(gè)端口SS,S通過SS與SA的連接得到SA端口的外網(wǎng)地址AS,然后把這個(gè)外網(wǎng)地址AS傳給B,B也一樣通過S將SB的外網(wǎng)地址BS傳給A。A斷開與S的連接的SA,B也一樣斷開SB,然后A用SA去連接SB的外網(wǎng)地址BS,之后轉(zhuǎn)為listen模式等待B用SB連接AS。(可能有點(diǎn)亂。)

現(xiàn)在的問題是,如果我將這個(gè)新的SOCKET SA斷開后(使用
client_mid.Shutdown(SocketShutdown.Both);
client_mid.Disconnect(false);//改為TRUE 則需要用beginCounnect,但我想用Counnect,且延時(shí)過長
client_mid.Close();


怎樣才能再用這個(gè)Socket SA Counect B的外網(wǎng)地址BS?提示釋放對(duì)象無法調(diào)用,改TRUE提示用異步調(diào)用且不能為同一IPENDPIONT?
因?yàn)橐龅絅AT穿網(wǎng),如果我重新定義這個(gè)端口(比如CLOSE()后),對(duì)應(yīng)的NAT的外網(wǎng)地址會(huì)不會(huì)改變了(原來SA對(duì)應(yīng)著外網(wǎng)地址為AS,執(zhí)行關(guān)閉后重新套接字后會(huì)不會(huì)SA就沒有對(duì)應(yīng)AS了?)?這樣就連接不上了啊!
而且至今找不到方法來重新用這個(gè)socket SA來連接B的socket SB的外網(wǎng)地址BS!!
已解決,很簡單,c#提供了這樣一個(gè)功能SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);//端口復(fù)用!一個(gè)端口用兩個(gè)套接字,然后其中一個(gè)套接字和服務(wù)器連接,另一個(gè)則可以和另一個(gè)客戶端連接。因?yàn)槎际峭欢丝冢訬AT映射的端口肯定一樣。然后由于套接字的counnect目標(biāo)IPEndPIONT不一樣,所以不會(huì)沖突(大概,有待驗(yàn)證。)

該文章在 2017/4/12 1:13:26 編輯過

全部評(píng)論1

admin
2017年4月12日 1:14
每次調(diào)用的對(duì)象是重新構(gòu)造的還是同一個(gè),要么試試每次都重新構(gòu)造對(duì)象來連接。
追問
我想應(yīng)該是同一個(gè),不然NAT怎么記住同一個(gè)端口對(duì)應(yīng)的外網(wǎng)端口。但問題是怎樣才能用同一個(gè)而不是重新構(gòu)造一個(gè)去counnect另一個(gè)IPEndPiont。。。。好糾結(jié)!!
追答
socket的操作應(yīng)該是新開了線程去執(zhí)行的,所以建議你每次連接重新構(gòu)造一個(gè)新的吧。
追問
如果重連就得不到正確的端口號(hào)了。比如我連接服務(wù)器,服務(wù)器確認(rèn)出連接的客戶端A的外網(wǎng)地址為192.168.1.1:5432。我需要其它客戶端對(duì)A的外網(wǎng)地址進(jìn)行連接以達(dá)到P2P的效果。可是如果我新構(gòu)造一個(gè),新構(gòu)造的外網(wǎng)映射地址就絕對(duì)不會(huì)是這個(gè)192.168.1.1:5432。那其它客戶端怎么連啊。。。。。。。。。
追答
那我建議你使用 UdpClient 進(jìn)行通信

該評(píng)論在 2017/4/12 1:14:49 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved