ServerSocket和Clientsocket控件编程问题,多个客户端对应一个服务端通信。 ( 积分: 100 )

  • 主题发起人 主题发起人 devilsniffer
  • 开始时间 开始时间
D

devilsniffer

Unregistered / Unconfirmed
GUEST, unregistred user!
本人使用ServerSocket和Clientsocket控件开发程序。
Serversocket作为服务器端,有多个Clientsocket的客户端进行连接,计划上线连接数量在1000人左右,服务端对客户端进行一些控制,传输文件、视频、图像等。控制可以是单独控制。
服务器端和客户端全部采用非阻塞连接方式!(stNonBlocking)

但是在实际应用的过程中遇到一些问题,比如对客户端A进程文件传输的时候,客户端B上线的是时候造成A死掉。另外其它在线的电脑C、D等上线或者下线的时候,程序在进行数据传输时,都会出现一些问题或错误提示。而没有进程数据传输时正常。

请教如何解决这个问题。或者用另外其它方式是否更好?比如采用stThreadBlocking方式?
 
本人使用ServerSocket和Clientsocket控件开发程序。
Serversocket作为服务器端,有多个Clientsocket的客户端进行连接,计划上线连接数量在1000人左右,服务端对客户端进行一些控制,传输文件、视频、图像等。控制可以是单独控制。
服务器端和客户端全部采用非阻塞连接方式!(stNonBlocking)

但是在实际应用的过程中遇到一些问题,比如对客户端A进程文件传输的时候,客户端B上线的是时候造成A死掉。另外其它在线的电脑C、D等上线或者下线的时候,程序在进行数据传输时,都会出现一些问题或错误提示。而没有进程数据传输时正常。

请教如何解决这个问题。或者用另外其它方式是否更好?比如采用stThreadBlocking方式?
 
还是你编程的问题,我觉得先了解一下SOCKET编程的一些处理细节,可能对于你构架你的服务端是有好处的:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2373716
 
试试用UDP来做握手连接,用TCP传数据,传完后释放TCP
UDP可以广播数据,定时广播,客户收到后回复,自定义几次未回复视为不在线
其实没多大意思,练练手还行
 
楼上的,我的程序希望使用TCP/IP模式,而不想用UDP!
 
有没有人帮忙啊,顶一下。高手拜托说两句,给点建议就好。对不对无所谓[:D]
 
建议使用Indy控件,多线程的
 
楼上的有没有开发过类似程序?能否说一下INDY控件的优势?
 
我用indyTCP做了一个客户端升级的程序,有100多个客户端。
indy本身就是多线程的
 
分数大家分了吧。问题自己解决了!!
 
多人接受答案了。
 
后退
顶部