delphi socket 并发问题

cxb809 2008-11-23 10:28:04
我要在delphi 上写个socket 服务程序,如何才能实现并发,同时接受客户端的多个信息,尽量不要线程,我更不懂,能有具体实例再好,谢谢大家
...全文
256 11 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
不用并发应该可以做到接收,轮询每个客户端的消息。但处理必须有多线程。因为收到信息必须处理。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧