在UNIX下写服务端程序,流程是这样的:服务端当接收到客户端新连接后FORK()一个子进程,然后read(socket,buf,size),再根据接收到的buf中的信息向客户端发送相应的文件。当全部发送结束后close(socket),子进程结束。
在WINDOWS XP下用DELPHI写一客户端,控件用ClientSocket,在发送完下载请求后就开始接收文件。
可是实际接收的文件是不完全的,我查了一下是由于服务端发送完成后把这个连接断开了,造成客户端不能连续接收数据了。没有办法只好修改程序,当客户端接收全部结束后再发个消息给服务端,然后服务端再断开。这样很烦,如果我在UNIX下用C写个客户端则没有这样的问题。
请问有好的解决方法吗?
在WINDOWS XP下用DELPHI写一客户端,控件用ClientSocket,在发送完下载请求后就开始接收文件。
可是实际接收的文件是不完全的,我查了一下是由于服务端发送完成后把这个连接断开了,造成客户端不能连续接收数据了。没有办法只好修改程序,当客户端接收全部结束后再发个消息给服务端,然后服务端再断开。这样很烦,如果我在UNIX下用C写个客户端则没有这样的问题。
请问有好的解决方法吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货