socoket–使用c#的socket搭建简易通信以及粘包和分包:异步方式
1:同步方式
Accept Connect
Receive
2:异步方式
BeginAccept EndAccept //Connect连接
BegiinReceive EndReceive
3:粘包和分包问题:粘包和分包是利用socket在TCP协议下的内部优化机制
3.1粘包:多条消息粘包,导致这种情况是发送内容比较频繁,内容较小,进行粘合,节约资源
3.2分包:对发送的数据比较大的时候,进行分开发送,类似于分段发送,进行拆分的发送
4:先运行服务端,再运行客户端,
记得修改这客户端和服务端里面的ip地址,不知道的可以使用cmd里面使用ipconfig命令查看ip地址,这里采用的是IPv4地址,端口随便,不要低于4600以下,大概七八千左右差不多了,这里客户端输入“c”结束客户端与服务端的链接
5:关闭先关闭客户端,再关闭服务端
(代码如下-----------如果本篇博文对你有帮助点赞加搜藏)
server.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Net;
namespace TCP //服务端
{
class Program
{
static void Main(string[] args)
{
StartServerAsync();
Console.ReadKey();
}
static void StartServerAsync()
{
// 创建套接字 ipv4 tcp传输流 协议类型:tcp
Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//绑定IP 本地IP 192.168.1.100
IPAddress ipAddress = IPAddress.Parse("192.168.1.100");
//申请端口
IPEndPoint ipEndPoint = new