建议先学会C#同步通讯(阻断式),再来看异步通讯
同步通讯简例:C#搭建Socket服务器与客户端,助你快速入门(极简版)
在开始看代码前,请先捋清楚异步通讯实现的思路。
目录
一、对于服务器端
思路
服务器在绑定好端口后要:
1、先BeginAccept,开始等待客户端接入
2、在EndAccept,有客户端接入之后;要BeginReceive,开始等待接收客户端请求。
3、在EndReceive,接收到客户端请求后;要BeginSend,开始发送相关信息。
4、在EndSend,发送完一次信息后;要BeginReceive,再次开始等待接收客户端请求。
上面4个步骤能够实现一个客户端多次请求。
如果想要实现多个客户端多次请求,那么在第2步EndAccept,有客户端接入之后;还要BeginAccept,开始等待下一个客户端接入。
代码部分
捋清楚上述思路后,请看代码
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace ServerAsy
{
class Program
{
static byte[] buffer;
static void Main(string[] args)
{
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
EndPoint endpoint = new IPEndPoint(IPAddress.Parse("10.206.234.113"), 6000);
server.Bind(endpoint);
server.Listen(10); // 和同步通讯一样,server只是负责监听
Console.WriteLine("端口绑定成功,开始监听......");
// 客户端连接后,执行AcceptCallback方法内的代码,server是传递给Accep

本文详细介绍了C#中同步和异步Socket通信的实现,包括服务器端和客户端的代码示例,以及它们的工作原理和步骤。
最低0.47元/天 解锁文章
4927

被折叠的 条评论
为什么被折叠?



