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

C#實現(xiàn)Socket通信的解決方法

 更新時間:2014年07月16日 16:11:08   投稿:shichen2014  
這篇文章主要介紹了C#實現(xiàn)Socket通信的解決方法,需要的朋友可以參考下

本文以實例詳述了C#實現(xiàn)Socket通信的解決方法,具體實現(xiàn)步驟如下:

1、首先打開VS新建兩個控制臺應用程序:
ConsoleApplication_socketServer和ConsoleApplication_socketClient。
 
2、在ConsoleApplication_socketClient中輸入以下代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Net; 
using System.Net.Sockets; 
 
namespace ConsoleApplication_socketClient 
{ 
  class Program 
  { 
    static Socket clientSocket; 
    static void Main(string[] args) 
    { 
      //將網(wǎng)絡(luò)端點表示為IP地址和端口 用于socket偵聽時綁定  
      IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("*.*.*.*"), 3001); //填寫自己電腦的IP或者其他電腦的IP,如果是其他電腦IP的話需將ConsoleApplication_socketServer工程放在對應的電腦上。 
      clientSocket = new Socket(ipep.AddressFamily,SocketType.Stream,ProtocolType.Tcp);  
      //將Socket連接到服務(wù)器  
      try 
      { 
        clientSocket.Connect(ipep); 
        String outBufferStr; 
        Byte[] outBuffer = new Byte[1024]; 
        Byte[] inBuffer = new Byte[1024]; 
        while (true) 
        { 
          //發(fā)送消息  
          outBufferStr = Console.ReadLine(); 
          outBuffer = Encoding.ASCII.GetBytes(outBufferStr); 
          clientSocket.Send(outBuffer, outBuffer.Length, SocketFlags.None); 
           
          //接收服務(wù)器端信息        
          clientSocket.Receive(inBuffer, 1024, SocketFlags.None);//如果接收的消息為空 阻塞 當前循環(huán) 
          Console.WriteLine("服務(wù)器說:"); 
          Console.WriteLine(Encoding.ASCII.GetString(inBuffer)); 
        } 
      } 
      catch 
      { 
        Console.WriteLine("服務(wù)未開啟!"); 
        Console.ReadLine(); 
      } 
    } 
  } 
} 

3、在ConsoleApplication_socketServer中輸入以下代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.IO; 
using System.Net; 
using System.Net.Sockets; 
using System.Threading; 
 
namespace ConsoleApplication_socketServer 
{ 
  class Program 
  { 
    static Socket serverSocket; 
    static Socket clientSocket; 
    static Thread thread; 
    static void Main(string[] args) 
    { 
      IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 3001); 
      serverSocket = new Socket(ipep.AddressFamily, SocketType.Stream, ProtocolType.Tcp); 
      serverSocket.Bind(ipep); 
      serverSocket.Listen(10); 
      while (true) 
      { 
        clientSocket = serverSocket.Accept(); 
        thread = new Thread(new ThreadStart(doWork)); 
        thread.Start(); 
      } 
    } 
    private static void doWork() 
    { 
      Socket s = clientSocket;//客戶端信息 
      IPEndPoint ipEndPoint = (IPEndPoint)s.RemoteEndPoint; 
      String address = ipEndPoint.Address.ToString(); 
      String port = ipEndPoint.Port.ToString(); 
      Console.WriteLine(address + ":" + port + " 連接過來了"); 
      Byte[] inBuffer = new Byte[1024]; 
      Byte[] outBuffer = new Byte[1024]; 
      String inBufferStr; 
      String outBufferStr; 
      try 
      { 
        while (true) 
        { 
          s.Receive(inBuffer, 1024, SocketFlags.None);//如果接收的消息為空 阻塞 當前循環(huán) 
          inBufferStr = Encoding.ASCII.GetString(inBuffer); 
          Console.WriteLine(address + ":" + port + "說:"); 
          Console.WriteLine(inBufferStr); 
          outBufferStr = Console.ReadLine(); 
          outBuffer = Encoding.ASCII.GetBytes(outBufferStr); 
          s.Send(outBuffer, outBuffer.Length, SocketFlags.None); 
        } 
      } 
      catch 
      { 
        Console.WriteLine("客戶端已關(guān)閉!"); 
      } 
    } 
  } 
} 
 

4、先運行ConsoleApplication_socketServer,后運行ConsoleApplication_socketClient就可以通信了。

本例給出了基本的實現(xiàn)代碼,讀者可以根據(jù)自身的需求進一步完成個性化功能。

相關(guān)文章

  • C#自定義類型強制轉(zhuǎn)換實例分析

    C#自定義類型強制轉(zhuǎn)換實例分析

    這篇文章主要介紹了C#自定義類型強制轉(zhuǎn)換的方法,實例分析了C#類型轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • C#處理MySql多個返回集的方法

    C#處理MySql多個返回集的方法

    這篇文章主要介紹了C#處理MySql多個返回集的方法,實現(xiàn)了對處理MySql多個返回集進行封裝,是非常實用的技巧,需要的朋友可以參考下
    2014-12-12
  • WPF實現(xiàn)Badge標識的示例代碼

    WPF實現(xiàn)Badge標識的示例代碼

    這篇文章主要為大家詳細介紹了WPF如何實現(xiàn)Badge標識,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-06-06
  • C#集合類用法實例代碼詳解

    C#集合類用法實例代碼詳解

    本文通過實例代碼給大家介紹了C#集合類用法的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-10-10
  • Unity技術(shù)手冊之Slider滑動器使用實例詳解

    Unity技術(shù)手冊之Slider滑動器使用實例詳解

    這篇文章主要為大家介紹了Unity技術(shù)手冊之Slider滑動器使用實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • C# swagger ui增加訪問限制方式

    C# swagger ui增加訪問限制方式

    本文介紹了如何在C#中使用Swagger UI并增加訪問限制,通過創(chuàng)建`SwaggerBasicAuthMiddleware`類和`MiddlewareExtension`類,并在`Startup.cs`的`Configure`方法中注入`app.UseSwaggerBasicAuth()`,從而實現(xiàn)對Swagger頁面的訪問控制
    2025-02-02
  • C#?Timer控件學習之使用Timer解決按鈕冪等性問題

    C#?Timer控件學習之使用Timer解決按鈕冪等性問題

    Timer控件又稱定時器控件或計時器控件,該控件的主要作用是按一定的時間間隔周期性地觸發(fā)一個名為Tick的事件,因此在該事件的代碼中可以放置一些需要每隔一段時間重復執(zhí)行的程序段,這篇文章主要介紹了關(guān)于C#使用Timer解決按鈕冪等性問題的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • C#利用IDbDataAdapter/IDataReader實現(xiàn)通用數(shù)據(jù)集獲取

    C#利用IDbDataAdapter/IDataReader實現(xiàn)通用數(shù)據(jù)集獲取

    這篇文章主要為大家詳細介紹了C#利用IDbDataAdapter/IDataReader實現(xiàn)通用數(shù)據(jù)集獲取的相關(guān)知識,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-11-11
  • C#備忘錄人生存檔的設(shè)計模式實例

    C#備忘錄人生存檔的設(shè)計模式實例

    這篇文章主要為大家介紹了C#設(shè)計模式中備忘錄模式的實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • C# 文件拖拽和pixturBox縮放與拖拽功能

    C# 文件拖拽和pixturBox縮放與拖拽功能

    這篇文章主要介紹了C# 文件拖拽和pixturBox縮放與拖拽功能,代碼簡單易懂,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2017-10-10

最新評論

太白县| 吉木萨尔县| 广宁县| 伊春市| 濮阳县| 石林| 新安县| 丰宁| 娄烦县| 滦平县| 盐池县| 南部县| 繁峙县| 策勒县| 乃东县| 天台县| 松江区| 周口市| 衡水市| 江华| 宝兴县| 颍上县| 图木舒克市| 清丰县| 乃东县| 稷山县| 历史| 濮阳县| 利川市| 阜康市| 英超| 慈利县| 深泽县| 明水县| 沭阳县| 东至县| 兴义市| 许昌市| 安宁市| 镇康县| 油尖旺区|