C# 的TCP Socket (同步方式)
C# TCP socket发送大数据包时,接收端和发送端数据不一致 服务端接收Receive不完全
服务器端:
port为监听端口
byte[] bs 一般声明一个较大的数组接收
int ilen 为接收到的数据包长度,根据它从byte[] bs里截取就好
IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), port); Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); listener.Bind(localEndPoint); listener.Listen(30); while (true) { Socket sock = listener.Accept(); byte[] bs = new byte[1024*1024]; int ilen = sock.Receive(bs); }
客户端:
很简单,连接成功后发送数据就好。
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(ip), iPort);//IP和端口 Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sock.Connect(ipep); sock.Send(Sendbytes, Sendbytes.Length, SocketFlags.None);//发送信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步