C#简单Socket
来源:互联网 发布:网络pos支付平台 编辑:程序博客网 时间:2024/06/05 00:55
服务端:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net.Sockets;using System.Net;using System.Threading;namespace SocketServer{ class Program { private static Socket serverSocket; static void Main(string[] args) { IPAddress ip =IPAddress.Parse("127.0.0.1"); serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); serverSocket.Bind(new IPEndPoint(ip, 8808)); serverSocket.Listen(0); Console.WriteLine("服务器{0}开启成功", serverSocket.LocalEndPoint.ToString()); Thread thread = new Thread(ClientSocket); thread.Start(); Console.ReadKey(); } private static void ClientSocket() { while (true) { Socket clientSocket = serverSocket.Accept(); Console.WriteLine("客户端{0}连接成功", clientSocket.LocalEndPoint.ToString()); string msg = "hello"; byte[] data = Encoding.UTF8.GetBytes(msg); clientSocket.Send(data); Thread receiveThread = new Thread(ReceiveMessage); receiveThread.Start(clientSocket); } } private static void ReceiveMessage(object clientSocket) { Socket myClientSocket = (Socket)clientSocket; while (true) { try { byte[] dataBUffer = new byte[1024]; int count = myClientSocket.Receive(dataBUffer); string msgReceive = Encoding.UTF8.GetString(dataBUffer, 0, count); Console.WriteLine("接收客户端消息:" + msgReceive); } catch (Exception e) { Console.WriteLine(e.Message); myClientSocket.Shutdown(SocketShutdown.Both); myClientSocket.Close(); return; } } } }}
客户端:
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading.Tasks;namespace ClientServer{ class Program { private static Socket clientSocket; static void Main(string[] args) { clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddress.Parse("127.0.0.1"); try { clientSocket.Connect(new IPEndPoint(ip, 8808)); } catch (Exception e) { Console.WriteLine("客户端连接异常:"+e.Message); throw; } //接收消息 byte[] data = new byte[1024]; int count = clientSocket.Receive(data); string msg = Encoding.UTF8.GetString(data,0,count); Console.WriteLine("从服务器接收消息:"+msg); //发送消息 while (true) { try { string str = Console.ReadLine(); clientSocket.Send(Encoding.UTF8.GetBytes(str)); } catch { clientSocket.Shutdown(SocketShutdown.Both); clientSocket.Close(); break; } } Console.ReadKey(); clientSocket.Close(); } } }记录一次自己的学习结果
阅读全文
0 0
- C#简单Socket
- 简单的C# Socket编程
- 简单的C# Socket编程
- C# Socket 编程简单实例
- c# 简单同步Socket编程
- 简单的C# Socket编程
- C#实现Socket传输简单数据
- C#实现Socket传输简单数据
- 简单的C# Socket编程(2)
- C# socket 多线程多客户端简单实例
- [转]基于C#的Socket简单通讯
- Socket 简单通信事例 (C#版)
- 基于C#的Socket简单通讯
- C# | socket实现简单的web服务器
- C#基于Socket的简单聊天室实践
- C#学习——简单socket、多线程
- C# .NET Socket 简单实用框架
- C#简单的Socket服务器框架
- Xilinx FPGA常见配置模式总结
- C++ 对象
- 怎样才能赚到钱系列(三)
- 6-1 Two Stacks In One Array-PTA双指指针stack表操作实现
- Java死锁
- C#简单Socket
- Spring代理模式
- 重定向理解
- 常用排序算法总结
- Android Studio编译项目的时候报Manifest merger failed
- Nutch 深入浅出
- css尺寸单位
- 网页视频播放的常见兼容方式总结
- inteliJ scala和spark环境配置