c#socket简单例子(服务器与客户端通信)

上传人:xiao****1972 文档编号:84136686 上传时间:2019-03-02 格式:DOC 页数:5 大小:77.50KB
返回 下载 相关 举报
c#socket简单例子(服务器与客户端通信)_第1页
第1页 / 共5页
c#socket简单例子(服务器与客户端通信)_第2页
第2页 / 共5页
c#socket简单例子(服务器与客户端通信)_第3页
第3页 / 共5页
c#socket简单例子(服务器与客户端通信)_第4页
第4页 / 共5页
c#socket简单例子(服务器与客户端通信)_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《c#socket简单例子(服务器与客户端通信)》由会员分享,可在线阅读,更多相关《c#socket简单例子(服务器与客户端通信)(5页珍藏版)》请在金锄头文库上搜索。

1、 C# Socket简单例子(服务器与客户端通信)分类: C#.NET2011-07-24 15:55 23710人阅读 评论(18) 收藏 举报socket服务器c#threadserverbyte这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信。注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序。在这个例子中,实际上还有很多问题没有解决,如消息边界问题、端口号是否被占用、消息命令的解析问题等。下面是两个程序的代码,(两个程序均为控制台程序)先发服务端的(Server)完整代码如下:引入命名空间:csharp view plaincopypr

2、int?1 using System.Net.Sockets; 2 using System.Net; 3 using System.Threading; 完整代码如下:csharp view plaincopyprint?4 namespace SocketServer 5 6 class Program 7 8 private static byte result = new byte1024; 9 private static int myProt = 8885; /端口 10 static Socket serverSocket; 11 static void Main(string

3、args) 12 13 /服务器IP地址 14 IPAddress ip = IPAddress.Parse(127.0.0.1); 15 serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 16 serverSocket.Bind(new IPEndPoint(ip, myProt); /绑定IP地址:端口 17 serverSocket.Listen(10); /设定最多10个排队连接请求 18 Console.WriteLine(启动监听0成功, serve

4、rSocket.LocalEndPoint.ToString(); 19 /通过Clientsoket发送数据 20 Thread myThread = new Thread(ListenClientConnect); 21 myThread.Start(); 22 Console.ReadLine(); 23 24 25 / 26 / 监听客户端连接 27 / 28 private static void ListenClientConnect() 29 30 while (true) 31 32 Socket clientSocket = serverSocket.Accept(); 33

5、 clientSocket.Send(Encoding.ASCII.GetBytes(Server Say Hello); 34 Thread receiveThread = new Thread(ReceiveMessage); 35 receiveThread.Start(clientSocket); 36 37 38 39 / 40 / 接收消息 41 / 42 / 43 private static void ReceiveMessage(object clientSocket) 44 45 Socket myClientSocket = (Socket)clientSocket; 4

6、6 while (true) 47 48 try 49 50 /通过clientSocket接收数据 51 int receiveNumber = myClientSocket.Receive(result); 52 Console.WriteLine(接收客户端0消息1, myClientSocket.RemoteEndPoint.ToString(), Encoding.ASCII.GetString(result, 0, receiveNumber); 53 54 catch(Exception ex) 55 56 Console.WriteLine(ex.Message); 57 my

7、ClientSocket.Shutdown(SocketShutdown.Both); 58 myClientSocket.Close(); 59 break; 60 61 62 63 64 以上是服务端(server)的完整代码。客户端(Client)的完整代码如下:引入命名空间:csharp view plaincopyprint?65 using System.Net; 66 using System.Net.Sockets; 67 using System.Threading; 完整代码:csharp view plaincopyprint?68 namespace SocketCli

8、ent 69 70 class Program 71 72 private static byte result = new byte1024; 73 static void Main(string args) 74 75 /设定服务器IP地址 76 IPAddress ip = IPAddress.Parse(127.0.0.1); 77 Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 78 try 79 80 clientSocket.Con

9、nect(new IPEndPoint(ip, 8885); /配置服务器IP与端口 81 Console.WriteLine(连接服务器成功); 82 83 catch 84 85 Console.WriteLine(连接服务器失败,请按回车键退出!); 86 return; 87 88 /通过clientSocket接收数据 89 int receiveLength = clientSocket.Receive(result); 90 Console.WriteLine(接收服务器消息:0,Encoding.ASCII.GetString(result,0,receiveLength);

10、91 /通过 clientSocket 发送数据 92 for (int i = 0; i 10; i+) 93 94 try 95 96 Thread.Sleep(1000); /等待1秒钟 97 string sendMessage = client send Message Hellp + DateTime.Now; 98 clientSocket.Send(Encoding.ASCII.GetBytes(sendMessage); 99 Console.WriteLine(向服务器发送消息:0 + sendMessage); 100 101 catch 102 103 clientSocket.Shutdown(SocketShutdown.Both); 104 clientSocket.Close(); 105 break; 106 107 108 Console.WriteLine(发送完毕,按回车键退出); 109 Console.ReadLine(); 110

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号