社区
进程/线程/DLL
帖子详情
异步SOCKET是单线程工作的吗
hungta
2003-10-17 04:27:01
上位机监听下位机的连接,如果有连接便NEW一个异步SOCKET,如果有20个下位机连接上,那么这20个SOCKET在上位机中是单线程工作呢?还是每个SOCKET就是一个线程?
...全文
54
3
打赏
收藏
异步SOCKET是单线程工作的吗
上位机监听下位机的连接,如果有连接便NEW一个异步SOCKET,如果有20个下位机连接上,那么这20个SOCKET在上位机中是单线程工作呢?还是每个SOCKET就是一个线程?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hungta
2003-10-20
打赏
举报
回复
请教 vagabondkq(birder),能不能详细一些,什么是端口模型啊。
vagabondkq
2003-10-18
打赏
举报
回复
用单线程应该就够了,不过你要先了解服务器的几个模型,比如说完成端口模型等。
yuxiaojie
2003-10-18
打赏
举报
回复
单线程,不过这种情况都用多线程来解决.
一个服务器对多个客户端的MFC
Socket
编程示例(实现简单的即时通讯功能)
环境:Windows XP SP3、 VC++ 6.0、 Windows 2003 SDK 使用步骤: 1、下载解压之后,使用VC++ 6.0打开两个工程:一个是
Socket
Server和一个Client
Socket
工程。 2、首先运行服务器端工程,选默认的端口1008 3、然后运行客户端工程,选默认的端口1008和默认的服务器地址 4、再运行多个客户端进程 5、如果一切正常,可以每个客户端的消息发送,我们可以在服务端和各个客户端同步看到消息 实现一个服务器对多个客户端的关键是,在服务端的使用集合CPtrList类用保存客户端的
socket
对象,思想与Java中的编程思想一样,只不过Java中会使用多线程技术,在Vector集合保存客户端的
socket
对象,而MFC框架提供了C
Socket
类,它是一个
异步
通信的类,所以看上去代码比较Java的多线程代码简单的实现了一个对多的即时通讯功能。另外,MFC提供了C
Socket
File类和CArchive类与C
Socket
类实现了C++的网络通讯编程功能。 本示例注释非常详细,所有的辅助类都放一个util目录中,然后在工程中分了一个目录来管理这些辅助类,使用代码非常清晰。手动书写部分的代码是按Java的规范书写,当然其它代码由IDE生成的,所以是MS的风格,所以当你看代码时,只要是使用“骆驮命名法”的方法都是本人书写的功能性代码。 参看的思路:在服务端要从回调方法onAccept读起;而客户端代码主要从OnSendButton方法读起,即可理解整个代码的意思。 阅读对象:具有Java的
Socket
编程经验的人员,并且希望能够书写出比Java效率更高的即时通讯程序的人员
目前最高性能的
Socket
AsyncEventArgs 实例
Socket
AsyncEventArgs 单机测试成功突破 6W,59999 还是 100%连接上去的 所以估计最高性能可能达到10W以上 值得说明的是 建议使用
Socket
AsyncEventArgs 进行监听的 读取数据包. 因为 这2个地方的
Socket
AsyncEventArgs 是同一个,并且内存和
Socket
AsyncEventArgs 对象都好回收 好控制 如果使用
Socket
AsyncEventArgs 发送数据包那么
Socket
AsyncEventArgs 就不好控制了 所以使用传统的
异步
模式比较好. 而数据包传出使用
异步
代理 进行传出以免堵塞
Socket
AsyncEventArgs 线程. MSND 的
Socket
AsyncEventArgs 除了
Socket
AsyncEventArgsPOOL 和内存Manager 其他纯属扯淡.最好别效仿.
C#中
异步
socket
Socket
是什么呢? 参考:https://blog.csdn.net/jia12216/article/details/82702960
Socket
是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,
Socket
其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在
Socket
接口后面,对用户来说,一组简单的接口就是全部,让
Socket
去组织数据,以符合指定的协议。
Socket
通信过程介绍: 服务器端先初始化
Socket
,然后与端口绑定(bind),对端口进行监听(li
在C中使用
Socket
实现多线程
异步
TCP消息发送
详细介绍了在C中使用
Socket
实现多线程
异步
TCP消息发送。欢迎点赞收藏。谢谢
Redis 一定是
单线程
的进程吗?
Redis
单线程
指的是「接收客户端请求->解析请求 ->进行数据读写等操作->发生数据给客户端」这个过程是由一个线程(主线程)来完成的,这也是我们常说 Redis 是
单线程
的原因
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章