社区
网络及通讯开发
帖子详情
在连续sendtext的时候,Sleep的时间怎么计算??
shark_dim
2003-05-08 10:47:34
如题!比如
for(;;)
{
Socket->SendText("1231231312");
Sleep(??);
}
我在接收时,想分个接收,需要Sleep,这样。Sleep怎么接收呀?
...全文
57
11
打赏
收藏
在连续sendtext的时候,Sleep的时间怎么计算??
如题!比如 for(;;) { Socket->SendText("1231231312"); Sleep(??); } 我在接收时,想分个接收,需要Sleep,这样。Sleep怎么接收呀?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
猛禽
2003-05-12
打赏
举报
回复
还有一点很关键的是,JSP兄的做法只能用阻塞方式,而且在阻塞方式也不推荐用SendBuf/SendText,应该用TWinSocketStream。
在非阻塞方式下要在SOCKET的读写事件里进行SendBuf和SendText,Recieve时同要也要在事件里
jishiping
2003-05-12
打赏
举报
回复
楼主的思路不对。应该这样,在每次发送数据前,先发送数据包的长度,然后再发送数据。
接收时,也是先读取数据包的长度,然后再读取数据。这样就解决问题了。
for(;;) //发送数据
{
short Len = xxx;
Socket->SendBuf(&Len, 2);
Socket->SendText("1231231312");
}
for(;;) //接收数据
{
short Len; char* buf;
Socket->ReceiveBuf(&Len, 2);
if (Len > 0) {
buf = new char[Len+1];
Socket->ReceiveBuf(buf, Len);
buf[Len] = '\0';
//处理收到的数据......
delete[] buf;
}
}
这儿我用的是short来存放数据的长度,你可以根据实际情况,采用其它数据类型(如BYTE
或者DWORD)来存放数据长度。
猛禽
2003-05-09
打赏
举报
回复
楼主太荒唐了吧。
你就是发123也有可能收到两个包:12和3。这个是跟据网络状况自动分拆的。绝对不可以用SLEEP来分包
SharpKing515
2003-05-09
打赏
举报
回复
嗯。。
同意楼上意见!
BCB
2003-05-09
打赏
举报
回复
用Sleep( )实现字节流边界太荒唐,用字节标志呀
qibo999
2003-05-09
打赏
举报
回复
那就加个判断,看是否接受成功,在处理,个人觉得不应使用Sleep()
txt587
2003-05-09
打赏
举报
回复
恩
跟楼上的一样
wolong1
2003-05-09
打赏
举报
回复
帮你up,多给点分
恭喜楼主发财!!!!!!!
shark_dim
2003-05-08
打赏
举报
回复
不,比如,我用
for(;;)
{
Socket->SendText("123");
Sleep(??);
}
来发送数据的时候,我本地接收的时候,我想接收到的讯息是"123",而不是123123123123...
因此,我需要一个Sleep的时间,我就是想知道,如何判断并计算出这个时间!!!!!!!!
耙子
2003-05-08
打赏
举报
回复
思路就不对,
你应该以流的方式来处理接收,
因为有可能一个 "1231231312" 会分为 2个包发送,就是说你可能这个字符串可能跨包,
所以你因该自己定仪标志位,以标志位来区分是否受到一个完整的字符串。
比如,这个sendtext是按照回车来区分的。
shark_dim
2003-05-08
打赏
举报
回复
错了,应该是:Sleep的时间怎么计算???
为什么你的WebSocket连接总是断开?Java开发者必须知道的3大陷阱
心跳机制缺失 WebSocket 连接在长
时间
无数据传输时可能被中间代理(如 Nginx、负载均衡器)或客户端防火墙主动关闭。解决此问题的关键是实现心跳机制,通过定时发送 ping/pong 消息维持连接活跃。 例如,在 Go 语言...
qt UDP(通过pushbutton发送信息)
在客户端的UI界面拖了一个pushbutton和
text
dit。 主要代码如下: 发送端: int32_t udpcli::udp
Send
() { auto uSocket = new QUdpSocket; QString
send
Text
=ui->
text
Edit->toPlain
Text
(); //获取文本...
掌握Delphi7中的Socket异步通信技术
简介:Socket通信是网络编程中的基础,特别在Delphi7环境下,通过TClientSocket和TServerSocket组件,开发者可以实现高效的网络通信。本文深入探讨了在Delphi7中实现Socket异步通信的机制,包括关键事件处理和数据...
怎么在idea中引入websocket_SpringBoot+WebSocket实现简单的数据推送
这就导致了一个弊端,假如我要获得服务器
连续
的状态变化,那么我只能每隔一段
时间
向服务器发起请求,也就是所谓的轮询,这就导致了大量的资源浪费。由此,websocket应运而生,来解决这一痛点。websocket...
flask websocket json_SpringBoot+WebSocket实现简单的数据推送
这就导致了一个弊端,假如我要获得服务器
连续
的状态变化,那么我只能每隔一段
时间
向服务器发起请求,也就是所谓的轮询,这就导致了大量的资源浪费。由此,websocket应运而生,来解决这一痛点。websocket...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章