社区
网络编程
帖子详情
谈谈异步socket的问题?
Eleven
2008-12-09 08:46:32
各种异步socket,比如select,WSAAsyncSelect,WSAEventSelect,IOCP各种方法的特点的比较,希望大家畅所欲言。谢谢
...全文
188
16
打赏
收藏
谈谈异步socket的问题?
各种异步socket,比如select,WSAAsyncSelect,WSAEventSelect,IOCP各种方法的特点的比较,希望大家畅所欲言。谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
njupt_pz
2012-01-04
打赏
举报
回复
详细请见:
http://www.kuqin.com/networkprog/20070905/876.html
jy514263
2008-12-12
打赏
举报
回复
[Quote=引用 11 楼 sigh02 的回复:]
我比较关心的是异步调用WSASend/WSARecv的情况下会不会乱序
比如说WSASend先发10个字节,然后调用WSARecv收10,再调WSASend发10个,然后再调WSARecv收5个
会不会第二次WSARecv先收到了?等于是把第一次WSARecv的数据给抢了....
[/Quote]
这个不会, 两个包一起过来倒是会的
sigh02
2008-12-12
打赏
举报
回复
我比较关心的是异步调用WSASend/WSARecv的情况下会不会乱序
比如说WSASend先发10个字节,然后调用WSARecv收10,再调WSASend发10个,然后再调WSARecv收5个
会不会第二次WSARecv先收到了?等于是把第一次WSARecv的数据给抢了....
jy514263
2008-12-12
打赏
举报
回复
客户端的话还是WSAAsyncSelect好用
服务器就用完成端口
scq2099yt
2008-12-12
打赏
举报
回复
各有所长,否则就没有存在的意义了。
sigh02
2008-12-12
打赏
举报
回复
[Quote=引用 12 楼 jy514263 的回复:]
引用 11 楼 sigh02 的回复:
我比较关心的是异步调用WSASend/WSARecv的情况下会不会乱序
比如说WSASend先发10个字节,然后调用WSARecv收10,再调WSASend发10个,然后再调WSARecv收5个
会不会第二次WSARecv先收到了?等于是把第一次WSARecv的数据给抢了....
这个不会, 两个包一起过来倒是会的
[/Quote]
要是多线程操纵一个socket,不加锁那肯定乱了
Evenque
2008-12-12
打赏
举报
回复
我也来学习一下
目前在select阶段
zchenglin
2008-12-12
打赏
举报
回复
刚开始学习网络方面的编程,大家说的都很有道理啊,要多学习一下了
caitian6
2008-12-10
打赏
举报
回复
[Quote=引用 6 楼 DDGG 的回复:]
引用 1 楼 caitian6 的回复:
select 是微软为了适应UNIX下的 select 模型 用消息机制改的,效率不高。 适合小规模(64个SOCKET)。
select的64个SOCKET限制是指一个select等待64个SOCKET吗?
假如我开100个线程,每个线程用一个select等待一个SOCKET应该不受限制吧?
[/Quote]
100个SOCKET 是同一个 ? 还是不同的?
同一个的话, 同步异步就是个大问题。
不同的SOCKET , 有意义吗?
DoItFreely
2008-12-10
打赏
举报
回复
还是WSAAsyncSelect简单,没有IOCP繁琐的线程同步,也没有select/WSAEventSelect的个数限制
DDGG
2008-12-09
打赏
举报
回复
[Quote=引用 1 楼 caitian6 的回复:]
select 是微软为了适应UNIX下的 select 模型 用消息机制改的,效率不高。 适合小规模(64个SOCKET)。
[/Quote]
select的64个SOCKET限制是指一个select等待64个SOCKET吗?
假如我开100个线程,每个线程用一个select等待一个SOCKET应该不受限制吧?
baiyangzdc
2008-12-09
打赏
举报
回复
IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序。与使用select()或是其它异步方法不同的是,一个套接字[socket]与一个完成端口关联了起来,然后就可继续进行正常的Winsock操作了。然而,当一个事件发生的时候,此完成端口就将被操作系统加入一个队列中。然后应用程序可以对核心层进行查询以得到此完成端口。
baiyangzdc
2008-12-09
打赏
举报
回复
WSAAsyncSelect模型是Windows下最简单易用的一种Socket I/O模型。使用这种模型时,
Windows会把网络事件以消息的形势通知应用程序
路人乙2019
2008-12-09
打赏
举报
回复
IOCP加重叠IO模型是伸缩性最好地,可用来写高性能可伸缩性服务器。如apache服务器,游戏服务器。
caitian6
2008-12-09
打赏
举报
回复
,WSAAsyncSelect是基于窗口的, 效率一样不高, 客户端使用还行,服务器端就算了。
caitian6
2008-12-09
打赏
举报
回复
select 是微软为了适应UNIX下的 select 模型 用消息机制改的,效率不高。 适合小规模(64个SOCKET)。
Socket
编程系列之5:Boost开发及ASIO
异步
网络聊天室编程实
Socket
编程系列初步计划:
Socket
编程系列之1:Linux-API网络编程入门实战
Socket
编程系列之2:Windows-API网络编程入门实战
Socket
编程系列之3:Libevent网络编程入门实战
Socket
编程系列之4:Libcurl网络编程入门实战
Socket
编程系列之5:Boost-ASIO网络编程入门实战
Socket
编程系列之6:Libuv网络编程入门实战----------------------------------------------------
Socket
编程系列之5:Boost开发及ASIO
异步
网络聊天室编程实战我将大龄大家从Boost小白入门基础知识开始,然后搭建开发环境,并亲手编译源码。然后详细分析Boost智能指针及内存池管理、线程、同步、多线程、线程池、IPC等知识,并动手练习。然后学习并分析总结高级函数特性,包括Boost.Function/Bind/Lambda等编程技术。最后进行Boost.ASIO入门的网络编程知识,包括同步编程、
异步
编程、UDP、
异步
网络聊天室等,并动手实践。
socket
的
异步
通讯机制
前言: 在网络
socket
编程中,开发着常常没有
异步
通讯的经验,客户端发完数据就阻塞等待,或者开启一个进程或线程来专门处理 通讯
问题
。很少有人能写出一个
异步
通讯的优雅流程,从而适应当前大规模平行计算的要求。我想就这个
问题
以FTP为例和大家分享一下。
问题
: FTP 是一个建立在TCP/IP之上,在客户端和服务器之间用于文件传输的标准协议。要实现一个完整的客户端文件下载过程,一般有三个步骤: 通过三次握手建立TCP的控制信道,然后发送用户名和密码,通过用户认证;还需要指定下载文件的模式和接收建立数据信道传输
分布式理论,架构设计(一)
Socket
和IO模型
分布式理论,架构设计(一)
Socket
和IO模型
Socket
socket
整体流程代码实现I/O模型NIO详解
Socket
和IO模型
Socket
socket
,套接字,就是两台主机之间的连接端点,TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。
socket
是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。他是网络通信过程中端点的抽象标识,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远程主机的I
Socket
同步、
异步
与阻塞、非阻塞
http://hj490134273.blog.163.com/blog/static/1446496162010494441182/ 刚开始学
Socket
编程,只是做一个简单的聊天室程序,后来深入进去以后,发现好多
问题
,先不谈widows平台下
Socket
的三种用法(winapi
socket
、CAsync
Socket
类、C
Socket
类),先
谈谈
这四种模式的区别,自己到处找资料,总算差不多弄
一文带你由浅入深Netty
异步
非阻塞世界
网络编程概念 两个程序通过一个双向的通信连接实现数据的交换,连接的一端称为一个
socket
Socket
是一个语言无标准,可以实现网络编程语言都有
Socket
通过·IP+Port通信 BIO、NIO、AIO适用场景 BIO:连接数少且固定的框架 NIO: 连接数多且连接时间短 AIO(NIO.2): 连接数多且连接时间长 Java IO流程图
Socket
连接步骤 服务器监听 客户端请求 连接确定 Tips:连接的时候三次握手,断开连接四次挥手 同步和
异步
(O
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章