社区
VCL组件使用和开发
帖子详情
TClientSocket->Socket->SendText()能在两个线程中使用吗?
Ronal_Lee
2009-12-08 05:14:20
前提 :TClientSocket设置为非阻塞。
请问 能在两个线程中 使用同一个TClientSocket控件的发送字符串的函数(TClientSocket->Socket->SendText())吗?会产
生多个线程互斥问题吗?
谢谢
...全文
153
6
打赏
收藏
TClientSocket->Socket->SendText()能在两个线程中使用吗?
前提 :TClientSocket设置为非阻塞。 请问 能在两个线程中 使用同一个TClientSocket控件的发送字符串的函数(TClientSocket->Socket->SendText())吗?会产 生多个线程互斥问题吗? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xjq2003
2009-12-10
打赏
举报
回复
必须做处理
yhec
2009-12-09
打赏
举报
回复
不能直接用,需互斥处理
zhgwbzhd
2009-12-08
打赏
举报
回复
如果保证两个机器都开机,且都联网正确。建议使用TCP。
如果不能保证,只好用UDP了。
僵哥
2009-12-08
打赏
举报
回复
[Quote=引用 2 楼 ronal_lee 的回复:]
引用楼主 ronal_lee 的回复:
前提 :TClientSocket设置为非阻塞。
请问 能在两个线程中 使用同一个TClientSocket控件的发送字符串的函数(TClientSocket->Socket->SendText())吗?会产
生多个线程互斥问题吗?
谢谢
请问,使用lock()跟控件是阻塞和非阻塞有关系吗?还有就是什么情况下会出现“不能一次性全部发送出去”?谢谢
[/Quote]
先理解什么是阻塞和非阻塞,然后再考虑清楚在什么情况下会阻塞什么。再看看MSDN当中的对于API函数
send
的注解。
Ronal_Lee
2009-12-08
打赏
举报
回复
[Quote=引用楼主 ronal_lee 的回复:]
前提 :TClientSocket设置为非阻塞。
请问 能在两个线程中 使用同一个TClientSocket控件的发送字符串的函数(TClientSocket->Socket->SendText())吗?会产
生多个线程互斥问题吗?
谢谢
[/Quote]
请问,使用lock()跟控件是阻塞和非阻塞有关系吗?还有就是什么情况下会出现“不能一次性全部发送出去”?谢谢
僵哥
2009-12-08
打赏
举报
回复
ClientSocket->Socket->Lock();
try{
//在这里使用
//
注意:
SendText并不能够保证把你预发送的数据一次性全部发送出去,请判断返回值,当不为预期发送的数据量时请继续发送后续数据
}__finally{
ClientSocket->Socket->Unlock();
}
delphi
socket
编程事例
delphi
socket
编程事例.................
delphi
socket
\delphi
socket
delphi
socket
通讯 demo
delphi7
socket
通讯 demo TServer
Socket
和
TCl
ient
Socket
组件
Socket
网络通讯源码
自己用Delphi做的有关
Socket
网络通讯的源码,可以传送消息,可以传送文件,绝无第三方控件,是我在做一个网络程序时做的测试用例,有需要的初学者同志可以下载研究研究,共同学习。
用DELPHI7.0实现简易聊天室程序
用delphi7.0实现的基于TCP协议的简易聊天程序,可以再局域网内实现实时通信。
VCL组件使用和开发
604
社区成员
13,457
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章