社区
网络通信/分布式开发
帖子详情
delphi socket 并发问题
cxb809
2008-11-23 10:28:04
我要在delphi 上写个socket 服务程序,如何才能实现并发,同时接受客户端的多个信息,尽量不要线程,我更不懂,能有具体实例再好,谢谢大家
...全文
290
11
打赏
收藏
delphi socket 并发问题
我要在delphi 上写个socket 服务程序,如何才能实现并发,同时接受客户端的多个信息,尽量不要线程,我更不懂,能有具体实例再好,谢谢大家
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cxb809
2008-11-24
打赏
举报
回复
我clientsocket 与serversocket 用的是短连接,并发发送的时候,服务端返回的数据客户端收不到呢,
cxb809
2008-11-24
打赏
举报
回复
我clientsocket 与serversocket 用的是短连接,并发发送的时候,服务端返回的数据客户端收不到呢,
ahjoe
2008-11-24
打赏
举报
回复
如果应用要求不高,多线程不是必须的。就用TServerSocket,每个客户连接的通信是互不干扰的。
看看它的这些事件,都带有Socket参数,表示与事件关联的连接。
procedure TForm1.ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
begin
end;
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
end;
procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
begin
end;
僵哥
2008-11-23
打赏
举报
回复
[Quote=引用 4 楼 cxb809 的回复:]
我用的是ServerSocket1
[/Quote]
ThreadBlocking模式,网上有的是实例.
cxb809
2008-11-23
打赏
举报
回复
我用的是ServerSocket1
僵哥
2008-11-23
打赏
举报
回复
用TIdTCPServer就可以完成了.
cxb809
2008-11-23
打赏
举报
回复
那就要告诉我线程具体怎么写
僵哥
2008-11-23
打赏
举报
回复
不使用多线程就不能实现对并发的处理.
playuser2006
2008-11-23
打赏
举报
回复
ServerSocket1 基于异步通信,所有交互最后都会串成消息,你不需要额外的去处理线程队列。只要在事件级编写代码就可以了很高效。
长沙三毛
2008-11-23
打赏
举报
回复
[Quote=引用 6 楼 hulihui 的回复:]
不用并发应该可以做到接收,轮询每个客户端的消息。但处理必须有多线程。因为收到信息必须处理。
[/Quote]朋友,线程不是很难,多做点呈现就好了。
长沙三毛
2008-11-23
打赏
举报
回复
不用并发应该可以做到接收,轮询每个客户端的消息。但处理必须有多线程。因为收到信息必须处理。
DELPHI
高性能大容量
SOCKET
并发
(九):稳定性
问题
解决
IOCP接收缓存导致的内存错乱 在用IOCP控件写了一个ERP服务器后,服务器会发生运行3天后,出现莫名的内存错误,用FastMM检测,是本没有内存错误的地方,而且内存错误出现的地方也不固定。这是一个不可重现的Bug,后续通过打日志把错误范围缩小后发现,每次出现内存错误之前都是由于有链接断开释放,因此就加了日志逐步定位到是T
Socket
Handle释放引起的,具体原因是:在IOCP中,每个S
Delphi
-Cross-
Socket
项目常见
问题
解决方案
Delphi
-Cross-
Socket
项目常见
问题
解决方案
Delphi
-Cross-
Socket
是一个跨平台的
Delphi
编程语言的
Socket
通讯库,主要用于实现网络通信功能。该项目主要使用 Pascal 编程语言开发。 新手在使用这个项目时需要特别注意的3个
问题
及解决步骤
问题
一:项目配置
问题
问题
描述: 新手在配置项目时可能遇到编译选项设置不正确,导致项目无法正常编译。 解决步...
java
delphi
socket
_
Delphi
跨平台
Socket
通讯库
Delphi
跨平台
Socket
通讯库(2017-05-18 14:18:50)标签:
delphi
kbmmw盒子中的souledge大侠发布了新的
Socket
库,以下为原文:我之前写过一个iocp的框架,放到googlecode上了。由于当时的
delphi
版本尚无法跨平台,所以该框架只能运行在Windows下。现在
Delphi
的跨平台编译器基本已经成熟了,主流的操作系统基本都已支持,这是一个很好的契...
DELPHI
高性能大容量
SOCKET
并发
(五):锁和对象分离
锁和对象一起封装的危险 在多线程编写中,绝大多数编码风格喜欢把锁和要访问的对象封装在同一个对象,释放对象的时候也释放锁,这样会造成死锁。我们写一个测试例子,我们创建一个锁,把锁锁住,然后再创建一个线程,一直不停的等待锁返回,然后我们把锁释放,这时线程就死锁,代码如下: 定义接口: type TLockObject = class; TLockTestThread = clas
DELPHI
高性能大容量
SOCKET
并发
(三):接收、发送、缓存
接收 完成端口是结合重叠端口一起使用的,在接收数据之前,我们需要投递一个接收请求,使用function WSARecv(s: T
Socket
; lpBuffers: LPWSABUF; dwBufferCount: DWORD; var lpNumberOfBytesRecvd, lpFlags: DWORD; lpOverlapped: LPWSAOVERLAPPED; lpCompl
网络通信/分布式开发
1,594
社区成员
32,944
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章