请问delphi里面的serversocket可以让多个客户同时请求吗?(50分)

  • 主题发起人 主题发起人 jsw19760525
  • 开始时间 开始时间
J

jsw19760525

Unregistered / Unconfirmed
GUEST, unregistred user!
请问delphi里面的serversocket可以让多个客户同时请求吗?我现在用socket编程,有多个客户同时向服务器请求,就是说socket本身(不另写代码)支持多个客户同时请求吗?
谢谢!
 
各位大虾,新年好!
本人初用socket编程,对这不太熟悉,希望各位大虾帮忙
谢谢,祝各位新年快乐,万事如意!
 
有一个线程监听,有连接请求过来就新建一个线程做连接,并交权,监听线程继续监听...
 
大家踊跃发言呀,分数是有的
我现在的问题处理流程是这样的:
1)客户端向serversocket服务端提出请求
2)服务端接到请求后,处理相关信息
3)当服务端根据客户的请求处理后,再发送消息到客户端
其中,第2)步中的处理肯定需要时间,时间的长短也不定呀。一个客户端肯定是没有问题了。现在的问题就是多个客户端同时请求就麻烦了。怎么样才可以把各个客户端的请求、接收区分开,让他们互不影响?
是不是一定要用多线程?如果不用多线程,那么有什么其他的好的方法吗?
很急,在线等待,谢谢各位了
 
我在用indy开发,他用的是多线程阻塞模式,这样控制逻辑就很简单了。
 
当然是不可以的.
一个Socket ID 只能建立一个连接.
所以通常是由一个listenthread,创建一个 clientsocket accept request
//即使用indy 也是要这样的, 用控件的好处就是由控件来维护这个东西了.
少写一些代码.
或许这样就是不写代码的方法了吧!
 
to:itren
我用serversocket控件,编写多线程怎么编写呢,里面还牵涉到windows消息的处理,
能给我一点提示吗?比如说创建几个线程,在什么地方创建,等
最好写一点简单的例子给我,我将感激万分,我很急呀
谢谢
 
每有一个连接请求就新建一个线程,此外还有一个线程负责管理其他所有线程的创建销毁。
 
其实就是一个监控线程,每当检测到有客户端连接上来就常见一个线程负责处理,县城处理完毕关闭,或者创建线程池,用你的线程池循环去处理,如果你的服务器端对性能要求比较高的话,建议不要使用控件。
 
后退
顶部