社区
网络及通讯开发
帖子详情
TWinSocketStream问题
ioi2000
2005-05-07 12:14:26
谁能介绍一下WaitForData怎么用
我一开始写
if(ws->WaitForData(60000))
ws->Read(&data, 1000);
经过调试发现,在明明有数据过来的情况下,WaitForData也还是会挂死在哪,
因为我将WaitForData删除,用Read就可以读到数据,这就说明本来是有数据过来的
...全文
72
1
打赏
收藏
TWinSocketStream问题
谁能介绍一下WaitForData怎么用 我一开始写 if(ws->WaitForData(60000)) ws->Read(&data, 1000); 经过调试发现,在明明有数据过来的情况下,WaitForData也还是会挂死在哪, 因为我将WaitForData删除,用Read就可以读到数据,这就说明本来是有数据过来的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
过客猫2022
2005-05-07
打赏
举报
回复
忘了!
delphi7下开发的TCP
Socket
转二进制收发
delphi7写的
socket
局域网内收发数据程序,用于自动控制行业入门者学习用,很早以前写的。可以用作自动控制行业入门学习只用。也支持广域网通讯。现在是TCP通讯,也可以改为使用UDP通讯。
断点续传示例源码整理
{接收一行数据
Socket
,超时,结束符}function
Socket
RevLine(
Socket
: TCustom
Win
Socket
; TimeOut: Integer; EndStr: string = #13#10): string;var bufInfo: TBufChar; i: Integer; str
Stream
: TString
Stream
; {保存所有的数据} F
Socket
Stream
: T
Win
Socket
Stream
;begin str
Stream
:= TString
Stream
.Create(‘‘); F
Socket
Stream
:= T
Win
Socket
Stream
.Create(
Socket
, TimeOut); while
Socket
.Connected do begin {确定接收的超时,可见WaitForData的源码} if not F
Socket
Stream
.WaitForData(TimeOut) then Break; ZeroMemory(@bufInfo, SizeOf(bufInfo)); {每次只读一个字符,以免读入了命令外的数据} i := F
socket
Stream
.Read(bufInfo, 1); if i = 0 then Break; str
Stream
.Write(bufInfo, i); if pos(EndStr, str
Stream
.DataString) <> 0 then Break; end; Result := str
Stream
.DataString; {没有读到回车换行符,就表示有超时错,这时返回空字符串} if Pos(EndStr, Result) = 0 then Result := ‘‘; str
Stream
.Free; F
Socket
Stream
.Free;end;
wxh 《用TCP-IP做文件续传
用TCP-IP做文件续传
C++Builder开发网络通讯程序
运用C++Builder开发网络通讯程序的朋友可以借鉴
CBUILDER流对象
C++BUILDER,流对象相关讨论,对流进操作进行说明
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章