C#基于Sockets类如何实现TCP通讯
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了C#基于Sockets类如何实现TCP通讯,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下最终效果TCPC
千家信息网最后更新 2026年11月03日C#基于Sockets类如何实现TCP通讯
这篇文章主要介绍了C#基于Sockets类如何实现TCP通讯,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
具体内容如下
最终效果

TCPClient
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Net;using System.Net.Sockets;using System.Threading;namespace TCPClient02{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } Socket socketSend; private void button1_Click(object sender, EventArgs e) { //Create socket socketSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddress.Parse(textBox1.Text); IPEndPoint point = new IPEndPoint(ip, Convert.ToInt32(textBox2.Text)); IDInfo idinfo = new IDInfo(); //Read ID number information //Get the IP address and port number of the remote server socketSend.Connect(point); ShowMessages("Connection succeeded"); //Start a new thread and keep receiving messages sent by the server Thread th = new Thread(ReciveMessages); th.IsBackground = true; th.Start(); } private void button2_Click(object sender, EventArgs e) { string str = textBox3.Text.Trim(); byte[] buffer = System.Text.Encoding.UTF8.GetBytes(str); socketSend.Send(buffer); } void ShowMessages(string str) { textBox4.AppendText(str + "\r\n"); } void ReciveMessages() { while (true) { byte[] buffer = new byte[1024 * 1024 * 3]; int r = socketSend.Receive(buffer); if (r == 0) { break; } string s = Encoding.UTF8.GetString(buffer, 0, r); ShowMessages(socketSend.RemoteEndPoint + ":" + s); } } private void Form1_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; } }}TCPserver
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Net.Sockets;using System.Net;using System.Threading;namespace TCPserver{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { //创建一个负责监听的Socket Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //创建ip地址和端口号 //IPAddress ip = IPAddress.Parse(textBox1.Text); IPAddress ip = IPAddress.Any; IPEndPoint point = new IPEndPoint(ip, Convert.ToInt32(textBox2.Text)); //让负责监听的socket绑定ip地址和端口号 socketWatch.Bind(point); ShowMsg("监听成功"); //设置监听队列(某一时刻连接客户端的最大数目) socketWatch.Listen(10); //线程执行的方法 Thread th = new Thread(Listen); //服务器开始监听 th.IsBackground = true; th.Start(socketWatch); } catch { } } void ShowMsg(string str) { textBox3.AppendText(str + "\r\n"); } /// /// 等待客户端的连接 并且创建与之通信的Socket /// /// Socket socketSend; void Listen(object o) { Socket socketWatch = o as Socket; //负责监听的socket 来接收客户端的连接 //创建跟客户端通信的socket while (true) { try { socketSend = socketWatch.Accept(); ShowMsg(socketSend.RemoteEndPoint.ToString() + "连接成功"); //开始一个新的线程不断接受客户端发送过来的消息 Thread th = new Thread(Recive); th.IsBackground = true; th.Start(socketSend); } catch { } } } /// /// 服务器不断接受客户端发送过来的消息 /// /// void Recive(object o) { Socket socketSend = o as Socket; while (true) { try { //客户端连接成功后,服务器应该接收客户端发来的消息 byte[] buffer = new byte[1024 * 1024 * 2]; //实际接收到的有效字节数 int bytelen = socketSend.Receive(buffer); if (bytelen == 0) { break; } string str = Encoding.UTF8.GetString(buffer, 0, bytelen); ShowMsg(socketSend.RemoteEndPoint + ":" + str); } catch { } } } private void textBox1_TextChanged(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; } /// /// 服务器给客户端发送消息 /// /// /// private void button3_Click(object sender, EventArgs e) { string str = textBox4.Text; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(str); socketSend.Send(buffer); } }}感谢你能够认真阅读完这篇文章,希望小编分享的"C#基于Sockets类如何实现TCP通讯"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
客户
客户端
监听
服务器
消息
篇文章
服务
成功
端的
通讯
C#
不断
口号
地址
线程
通信
最大
有效
价值
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技巨头监管
美国互联网保险保险科技
深圳互联网科技公司
互联网金融公司科技
天下捷融互联网科技
长亮科技互联网金融
互联网 新科技
宝灵互联网科技有限公司
互联网科技创新的路径
科技赋能视角下互联网保险发展
华中科技大学互联网的牛人
上海创道互联网络科技有限公司
互联网安防科技感
工业互联网科技创业
九思连强互联网电子科技有限公司
上海同邻互联网科技有限公司规模
抖集互联网科技技术咨询
银川新华互联网科技学校原画
瑞安市蟠桃会互联网科技有限公司
每日互联网科技新闻
互联网是第几次科技革命的成果
互联网科技公司经营范围
互联网科技垄断
朗涯互联网科技
善班互联网科技有限公司
四个字互联网科技公司取名
科技互联网大厂
互联网科技和法律行业
互联网科技实习生岗位
互联网科技创新创业项目