最新国产好看的视频,伊人天堂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

最新評論

读书| 新密市| 平泉县| 柯坪县| 平乡县| 宣城市| 简阳市| 永寿县| 庆阳市| 子洲县| 长白| 海安县| 安图县| 芜湖市| 德州市| 江西省| 河北区| 乌苏市| 来宾市| 大新县| 金湖县| 金秀| 榕江县| 抚远县| 苍山县| 苏尼特右旗| 灵石县| 比如县| 双峰县| 射阳县| 乌什县| 富锦市| 邛崃市| 平山县| 封开县| 吕梁市| 黔西县| 饶阳县| 平潭县| 三台县| 五家渠市|