问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VC++ 用Socket怎样编持续接收数据的程序

发布网友 发布时间:2022-04-20 10:14

我来回答

2个回答

热心网友 时间:2023-07-01 07:10

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

实际使用场景中,阻塞模式,一个线程专门Accept 有新的连接之后,为每一个连接再创建一个线程来处理 Receive,也就是对于服务器来说,假设当前有10个工作的连接,那么至少需要11个线程。
你只需要开几个专门的线程来负责接受连接和接收数据就可以了。
这种阻塞模式不适合大并发量的网络程序,测试小程序没问题,大并发量时需要使用非阻塞模式,比如一般常用的select模式
百度 “select模型” 就可以搜到。追问可以有具体实例发给我吗?

热心网友 时间:2023-07-01 07:10

VC++ 用Socket持续接收数据的程序举例如下:
while(1) { //client receiving code
if ((numbytes = recv(sockfd, buf, MAXDATASIZE, 0)) == -1)
perror("recv");
}
buf[numbytes] = '\0';
printf("numbytes is %d\n", numbytes);
printf("client: received '%s'\n", buf);
}
以下是输出:
numbytes is 0
client: received '12345'
numbytes is 0
client: received '6'
numbytes is 0
client: received ''
numbytes is 0
client: received ''
numbytes is 0
client: received ''
numbytes is 0
client: received ''
numbytes is 0
client: received ''
numbytes is 0
client: received ''
numbytes is 0
client: received ''
numbytes is 0
client: received ''
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 C++socket程序如何实现持续接收数据 使用socket编程,实现一个多线程聊天程序,使用9977... 关于网络程序设计的问题(socket编程) 在Linux系统下编写一个socket程序 linux中socket是如何调用驱动程序 java程序关于eclipse运行socket程序 如何编写简单的socket网络程序 如何编写基于TCP协... socket主机与从机通信流程伪代码 请问Socket编程的基本步骤是怎样的?最好能写一个... mfc socket 编程的流程是怎么样的? 通过Socket实现网络编程的主要过程是什么? 关于营销qq应该怎么开通? 如何将营销qq里的好友导出? 关于营销QQ的问题,请大神指点 营销QQ怎么把好友提取出来啊? 笼仔膏蟹糯米饭的推荐做法? 做荷叶蒸饭,起个什么名好听 蒸饭用什么配料好吃 笼仔饭酱汁怎么调? 荷叶笼仔蒸饭是用什么机器蒸的?还有在那里有得卖... socket.io 的详细工作流程是怎样的 采用tcp协议,使用socket编程,编写程序完成客户端发... 如何给手机添加NFC模块 Nvidia GeForce GT 630 ( 2047 MB )这显卡怎么样? 英伟达gt630这款显卡怎么样? nvidia geforce gt 630怎么样 nvidia geforce gt630多少钱 nvidia geforce gt 630是什么类型的显卡? nvidia geforce gt630怎么样 NVIDIA GeForce GT 630 2GB 显卡Nvidia GeForce GT 630 英伟达GT630显卡 Nvidia GeForce GT 630显卡 NVIDIA GeForce GT 630这个显卡好不好? 英伟达GT630显卡能玩LOL吗? nvidia geforce gt 630m是什么显卡 Nvidia GeForce GT 630是什么显卡 NVIDIA GeForce GT 630这款显卡如何,可以玩那些游... nvidia geForce GT630和nvidia geForce GT240这个2... NVIDIA GeForce GT 630 (1023MB) NVIDIA 9800 GT 1...