socket服务器 在做一个socket的通讯服务器时候,每个socket是用同步好还是用异步的模式好?,最好能稍微说点理由 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也可以做成同步的不过最后结果都是在客户端开多个线程,每个线程一个socket和异步一样 如果你的客户端连接不是很多,通讯不是很频繁,就做成同步的,毕竟同步编码简单反之做成异步的,这样客户端的连接请求和通讯请求就不会堆积阻塞了。看看下面的解释:1.所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。 2.同步,就是实时处理,比如服务器一接收客户端请求,马上响应,这样客户端可以在最短的时间内得到结果,但是如果多个客户端,或者一个客户端发出的请求很频繁,服务器无法同步处理,就会造成涌塞。 异步,就是分时处理,服务器接收到客户端请求后并不是立即处理,而是等待服务器比较空闲的时候加以处理,可以避免涌塞。 3.同步、异步之经典解释 同步就是调用一个函数,直接函数执行完了才返回到调用函数 异步就是被调用函数初始化完后马上返回... 经典解释一: 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。经典解释二: 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 经典搞笑解释: 同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。 异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。 多谢,不过只有前两句是我写的,后面的是copy的 isjoe说的挺详细的。我现在是用同步,线程池管理。每个socket一个线程,还不知道能连多少个socket。 C#可以创建标准的DLL吗?供其他语言调用 C# 按引用传递值类型 sql 参数返回问题 请帮忙 ~~ 急!非常急,兄弟姐妹来帮忙啦 ,有什么方法,谢谢了 如何实现用正则表达式验证TextBox文本框只能输入邮箱格式 求助,c#中执行oracle存储过程错误 c# 颜色的问题 C#调用VC写的DLL中的类的问题 winform中插入表格的问题。 DataGrid翻页问题!高手帮帮忙啊! 怎么实现用检索码获得数据库中信息 请问使用反射生成对象实例后如何卸载
反之做成异步的,这样客户端的连接请求和通讯请求就不会堆积阻塞了。看看下面的解释:
1.所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。
异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。
2.同步,就是实时处理,比如服务器一接收客户端请求,马上响应,这样客户端可以在最短的时间内得到结果,但是如果多个客户端,或者一个客户端发出的请求很频繁,服务器无法同步处理,就会造成涌塞。
异步,就是分时处理,服务器接收到客户端请求后并不是立即处理,而是等待服务器比较空闲的时候加以处理,可以避免涌塞。
3.同步、异步之经典解释
同步就是调用一个函数,直接函数执行完了才返回到调用函数
异步就是被调用函数初始化完后马上返回...
经典解释一:
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
经典解释二:
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
经典搞笑解释:
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。
多谢,不过只有前两句是我写的,后面的是copy的
说的挺详细的。
我现在是用同步,线程池管理。每个socket一个线程,还不知道能连多少个socket。