最简单的C#socket通信
2016-04-07 01:43
381 查看
服务器端
客户端
using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; namespace SimpleServer { class Program { static void Main(string[] args) { // 服务器ip地址 string ip = "127.0.0.1"; // 服务器端口 int port = 8000; try { // 获得终端 IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(ip), port); // 创建Socket Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 将Socket绑定到终端地址上 listener.Bind(ipe); // 开始监听 最大允许处理1000个连接 listener.Listen(1000); Console.WriteLine("开始监听"); // 开始接受客户端请求 程序在这里会卡阻住 Socket mySocket=listener.Accept(); byte[] bs = new byte[1024]; int n = mySocket.Receive(bs); // 将客户端发来的数据返回给客户端 mySocket.Send(bs); // 半闭与客户端的连接 mySocket.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } } } }
客户端
using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; namespace SimpleClient { class Program { static void Main(string[] args) { // 服务器ip地址 string ip = "127.0.0.1"; // 服务器端口 int port = 8000; try { // 获得终端 IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(ip), port); // 创建Socket Socket client = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp); // 开始连接服务器,程序在这里会阻住,直接连接成功或失败 client.Connect(ipe); Console.WriteLine("连接到服务器"); //向服务器发送数据 string data = "hello,world"; byte[] bs=UTF8Encoding.UTF8.GetBytes(data); client.Send(bs); // 接收到服务器的数据 byte[] rev = new byte[256]; // 接收到服务器返回的数据 client.Receive(rev); Console.WriteLine(UTF8Encoding.UTF8.GetString(rev)); // 关闭连接 client.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } } } }
相关文章推荐
- C#泛型代理、泛型接口、泛型类型、泛型方法
- C# DateTime日期格式
- Homework_4 四则运算 - C#版
- C# Winform中无焦点状态下获取键盘输入或者USB扫描枪数据
- C#当窗体大小改变时,窗体中的控件大小也随之改变
- C#当窗体大小改变时,窗体中的控件大小也随之改变
- C#事件的创建。
- .NET深入 c#数据类型2
- 2016-4-6--C#泛型变体(协变与抗变)
- C#如何创建一个简单委托。
- C# 一段绘图代码 在form_load事件不能显示图
- C# 一段绘图代码 在form_load事件不能显示图
- C# Func<>托付
- 如何删除PDF文档里的空白页
- 解决C# FileUpload上传文件过大的时候出现的错误
- C# 统计字符串类型
- C#中WebApi接口传参不再困惑:传参详解
- C#WebBrowser控件使用教程与技巧收集
- 使用xUnit,EF,Effort和ABP进行单元测试(C#)
- 安装VS2015报未能正确加载"CSharpPackage"包 和 未能创建 Visual C# 2015编译器