vc++ 多线程编程 SOCKET通信

vc++ 多线程编程 SOCKET通信,第1张

你给客户端发送数据是用send么

如果没Sleep的话,你创建了一个新线程,创建新线程的同时,当前线程闷大让仿卖也在运行,socket都蚂局被你关掉了,还怎么send??

线程跟函数是不同的,函数是等调用结束后才执行下一个语句

你这种是用的阻塞模式,就是 Accept和败州Receive 都会卡住不动,直到有新连接或者有新数据。

实际使用场景中,阻塞模式,一个线程专门Accept 有新的连接之后,为每一个圆蔽连接再创建一个线程来处理 Receive,也就是对于服务器来说,假设当前有10个工作的连接,那么至少需要11个线程。

你只需要开几个专门的线程来橘枯州负责接受连接和接收数据就可以了。

这种阻塞模式不适合大并发量的网络程序,测试小程序没问题,大并发量时需要使用非阻塞模式,比如一般常用的select模式

百度 “select模型” 就可以搜到。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12215907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存