VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
  • C#教程之C# socket demo

  • 2019-01-21 20:23 来源:未知

1. 服务器端代码

复制代码
 体育彩票排列三 www.o1y4.com.cn 
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Net;
 5 using System.Net.Sockets;
 6 using System.Text;
 7 using System.Threading;
 8 using System.Threading.Tasks;
 9 
10 namespace Sever
11 {
12     class Program
13     {
14         private static Socket severSocket = null;
15 
16         /// <summary>
17         /// 服务端程序
18         /// 1. 新建 socket,并绑定端口
19         /// 2. 接收客户端连接
20         /// 3. 给客户端发送信息
21         /// 4. 接收客户端信息
22         /// 5. 断开连接
23         /// </summary>
24         /// <param name="args"></param>
25         static void Main(string[] args)
26         {
27             severSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
28             IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 9999);
29             severSocket.Bind(endPoint);                 // 绑定
30             severSocket.Listen(10);                     // 设置最大连接数
31             Console.WriteLine("开始监听");
32             Thread thread = new Thread(ListenClientConnect);        // 开启线程监听客户端连接
33             thread.Start();
34             Console.ReadKey();
35         }
36 
37         /// <summary>
38         /// 监听客户端连接
39         /// </summary>
40         private static void ListenClientConnect()
41         {
42             Socket clientSocket = severSocket.Accept();         // 接收客户端连接
43             Console.WriteLine("客户端连接成功 信息: " + clientSocket.AddressFamily.ToString());
44             clientSocket.Send(Encoding.Default.GetBytes("你连接成功了"));
45             Thread revThread = new Thread(ReceiveClientManage);
46             revThread.Start(clientSocket);
47         }
48 
49         private static void ReceiveClientManage(object clientSocket)
50         {
51             Socket socket = clientSocket as Socket;
52             byte[] buffer = new byte[1024];
53             int length = socket.Receive(buffer);        // 从客户端接收消息
54             Console.WriteLine("收到消息:" + Encoding.Default.GetString(buffer));
55         }
56     }
57 }
复制代码

 

 

2. 客户端代码

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Net;
 5 using System.Net.Sockets;
 6 using System.Text;
 7 using System.Threading.Tasks;
 8 
 9 namespace client
10 {
11     /// <summary>
12     /// 客户端程序
13     /// 1. 新建 Socket
14     /// 2. 连接服务器
15     /// 3. 接收服务器信息
16     /// 4. 向服务器发送信息
17     /// </summary>
18     class Program
19     {
20         private static Socket clientSocket = null;
21 
22         static void Main(string[] args)
23         {
24             clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
25             // 客户端不需要绑定, 需要连接
26             IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9999);   // 端口号要与服务器对应
27             clientSocket.Connect(endPoint);
28             Console.WriteLine("连接到服务器");
29             // 接收服务器信息
30             byte[] buffer = new byte[1024];
31             int length = clientSocket.Receive(buffer);
32             Console.WriteLine("收到消息: " + Encoding.Default.GetString(buffer));
33             // 向服务器发送消息
34             clientSocket.Send(Encoding.Default.GetBytes("你好服务器"));
35             Console.ReadKey();
36         }
37     }
38 }
复制代码

 

 

3. 运行截图

 

相关教程
  • 范冰冰、范丞丞一家四口聚餐范丞丞范冰冰-大陆 2019-05-21
  • 胡律师说法——黄河新闻网 2019-05-21
  • 熊猫启航计划即将启动 让世界聆听大熊猫声音 2019-05-20
  • 男子喝酒抠喉引发食管撕裂 专家:抠喉催吐危险多 2019-05-20
  • 徕卡M10限量版外观曝光-热门标签-华商网数码 2019-05-14
  • 美堪萨斯州一所法院外发生枪击案 致警察1死1伤 2019-05-14
  • 政务大数据中心建设不可一哄而上 2019-05-13
  • 工信部:523家企业纳入电信业务经营不良名单 2019-05-13
  • 月薪过万白领辞职回乡养鸡 亏数十万后回城找工作 2019-05-12
  • 女子围甲,今年有看头 2019-05-12
  • 台东“孩子的书屋”:撑起偏乡学童翻转命运的机会 2019-05-12
  • 巴基斯坦学者:坚持走和平发展道路 中国为世界做更大贡献 2019-05-05
  • 【专题】相约上合——风从海上来 上合组织青岛峰会 2019-05-04
  • 荆州全力推进“四路三桥”建设 前5月累计完成投资178亿元 2019-04-30
  • 轻生活,做不一样的自己 2019-04-30
  • 380| 45| 417| 972| 19| 986| 861| 385| 526| 384| 973| 458| 789| 752| 498|