社区
网络编程
帖子详情
异步SOCKET是单线程工作的吗
hungta
2003-10-17 05:27:10
上位机监听下位机的连接,如果有连接便NEW一个异步SOCKET,如果有20个下位机连接上,那么这20个SOCKET在上位机中是单线程工作呢?还是每个SOCKET就是一个线程?
...全文
25
2
打赏
收藏
异步SOCKET是单线程工作的吗
上位机监听下位机的连接,如果有连接便NEW一个异步SOCKET,如果有20个下位机连接上,那么这20个SOCKET在上位机中是单线程工作呢?还是每个SOCKET就是一个线程?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaohyy
2003-10-17
打赏
举报
回复
单线程
sevencat
2003-10-17
打赏
举报
回复
单线程的,除非你自己beginthreadex 才会生成新的进程。
一个服务器对多个客户端的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 其他纯属扯淡.最好别效仿.
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、
异步
网络聊天室等,并动手实践。
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消息发送。欢迎点赞收藏。谢谢
网络编程
18,356
社区成员
64,217
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章