最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Socket不能選擇本地IP連接問題如何解決

 更新時間:2012年11月30日 15:16:29   作者:  
本文將介紹一個不要手動,要用程序自動實現(xiàn) ,可以綁定本地的任何IP地址,有需求的朋友可以參考下
現(xiàn)在碰到一個刺手的問題,是這樣的!
我的客戶端要通過socket與服務(wù)器端進(jìn)行通信,可是客戶端服務(wù)器上是雙ip地址(比方是192.168.1.10和192.168.1.20),可是 服務(wù)器端只允許192.168.1.20進(jìn)行通信,進(jìn)行了ip限制,在客戶端上192.168.1.10是主ip,192.168.1.20是從ip,如 果我簡單通過socket建立連接,程序默認(rèn)會以192.168.1.10進(jìn)行通信,這樣服務(wù)器端會拒絕,我應(yīng)該如果寫才能夠解決這個問題呢?

不要手動,要用程序自動實現(xiàn) ,可以綁定本地的任何IP地址。
如本機(jī)IP地址為:
192.168.1.205,192.168.1.204,192.168.1.203
實現(xiàn)結(jié)果為:
C:\>netstat -an | find "59.39.71.94"
TCP 192.168.1.205:2302 59.39.71.94:80 ESTABLISHED
C:\>netstat -an | find "59.39.71.94"
TCP 192.168.1.203:12302 59.39.71.94:80 ESTABLISHED
C:\>netstat -an | find "59.39.71.94"
TCP 192.168.1.204:7802 59.39.71.94:80 ESTABLISHED
方便的話給個代碼吧!謝謝!
復(fù)制代碼 代碼如下:

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 string serverIp = "59.39.71.94";
int serverProt = 80;
string clientIp = "192.168.1.104";
int clientProt = 8012;
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
var ipHostEntry = Dns.GetHostEntry(serverIp);
var ipEndPoint = new IPEndPoint(ipHostEntry.AddressList[0], serverProt);
var address = IPAddress.Parse(clientIp);
if (address != null)
{
var localEp = new IPEndPoint(address, clientProt);
socket.Bind(localEp);
}
socket.Connect(ipEndPoint); //建立長連接

以上代碼就可以完全實現(xiàn)上面的功能。

相關(guān)文章

  • 利用Distinct()內(nèi)置方法對List集合的去重問題詳解

    利用Distinct()內(nèi)置方法對List集合的去重問題詳解

    這篇文章主要給大家介紹了關(guān)于利用Distinct()內(nèi)置方法對List集合的去重問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用VS2010 C#開發(fā)ActiveX控件(下),完整代碼打包下載

    使用VS2010 C#開發(fā)ActiveX控件(下),完整代碼打包下載

    我們介紹了開發(fā)、打包、發(fā)布、使用ActiveX控件的全過程。在演示程序中,我們沒有調(diào)用串口通信和讀卡器Dll程序,由于我們讀卡器的原始Dll是使用其它語言進(jìn)行開發(fā)的,對C#來說,是非托管代碼,因此我們還需要在代碼級別進(jìn)行非托管代碼的安全性設(shè)置
    2011-05-05
  • C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的實現(xiàn)方法

    C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的實現(xiàn)方法

    這篇文章主要介紹了C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的實現(xiàn)方法,需要的朋友可以參考下
    2014-08-08
  • C#中一個高性能異步socket封裝庫的實現(xiàn)思路分享

    C#中一個高性能異步socket封裝庫的實現(xiàn)思路分享

    下面小編就為大家分享一篇C#中一個高性能異步socket封裝庫的實現(xiàn)思路,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • C#泛型接口的協(xié)變和逆變

    C#泛型接口的協(xié)變和逆變

    本文詳細(xì)講解了C#泛型接口的協(xié)變和逆變,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • C#打開揚聲器的實操方法和代碼

    C#打開揚聲器的實操方法和代碼

    在本篇文章中我們給大家分享的是關(guān)于C#如何打開揚聲器的相關(guān)知識點內(nèi)容,需要的讀者們學(xué)習(xí)下。
    2019-08-08
  • WPF中的ListBox實現(xiàn)按塊顯示元素的方法

    WPF中的ListBox實現(xiàn)按塊顯示元素的方法

    這篇文章主要介紹了WPF中的ListBox實現(xiàn)按塊顯示元素的方法,涉及ListBox屬性設(shè)置相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09
  • C#操作FTP出現(xiàn)500錯誤解決辦法

    C#操作FTP出現(xiàn)500錯誤解決辦法

    最近在做項目的時候需要操作ftp進(jìn)行文件的上傳下載,但在調(diào)用using (var response = (FtpWebResponse)FtpWebRequest.GetResponse())的時候總是出現(xiàn)"遠(yuǎn)程服務(wù)器返回錯誤:(550)文件不可用(例如,未找到文件,無法訪問文件)"的異常
    2014-03-03
  • WPF綁定實例詳解

    WPF綁定實例詳解

    這篇文章主要介紹了WPF綁定的用法,包括了WPF綁定控件及非控件對象的用法,以及各類參數(shù)的詳細(xì)用法,需要的朋友可以參考下
    2014-09-09
  • C#使用dynamic一行代碼實現(xiàn)反射操作

    C#使用dynamic一行代碼實現(xiàn)反射操作

    dynamic的出現(xiàn)讓C#具有了弱語言類型的特性。編譯器在編譯的時候不再對類型進(jìn)行檢查,編譯時默認(rèn)dynamic對象支持你想要的任何特性,這篇文章主要介紹了C#用dynamic一行代碼實現(xiàn)反射操作,需要的朋友可以參考下
    2023-04-04

最新評論

明光市| 绥棱县| 延川县| 平谷区| 台北县| 台北县| 南澳县| 延边| 岚皋县| 株洲市| 台南市| 宿松县| 乌苏市| 高淳县| 崇义县| 铜梁县| 柯坪县| 高阳县| 辉南县| 淮南市| 溧阳市| 安远县| 宁波市| 东港市| 遂昌县| 江城| 秦皇岛市| 盐亭县| 涪陵区| 木兰县| 山阴县| 封开县| 东海县| 嘉义县| 合肥市| 互助| 伊川县| 英超| 金乡县| 贺州市| 教育|