易语言 传输数据

我用的 是 服务器 客户 组件 我用服务器 发送数据 发现 客户取回的数据 只有其中的一部分(发送的文件 不大于100Kb 我已经在数据末端 加入 传送结束的信号)

请问 这种现象如何解决

第1个回答  2011-03-11
就给你分析两种组件的用法吧,推荐使用远程服务支持库,否则,你需要自己把数据分成小块,即分包发送。

1.服务器组件是基于连接的网络数据交换的服务方组件,用作在指定端口监视来自客户方的数据。需要采用一台电脑作为服务器使用,其他电脑作为客户机,使用上较为方便,一次最大可发送4380个字节,超过这个字节数,必须使用分包的办法,在接收的用户处再还原包。
由于可扩展性非常差,即不支持多用户,多线程,大文件传输入,在用户数量多,数据量大的情况下会产生紊乱,不建议大家用于商业程序中。
2.远程服务支持库
该支持库提供对服务器端程序和客户端程序的支持。客户端发出请求,服务器端接受到客户端的请求后,就会执行事先设置好的触发函数,在触发函数的方法中就可以分析用户端的请求,然后计算出结果发回给相应的客户端。该支持库的服务器模型支持多用户多任务,内部采用多个线程池协调同步共同完成任务数据的发送接收。本支持库一般可以使用在网络服务中间件,远程调用服务器,分布式计算等等程序的开发过程中。
这个支持库是本书重点推荐的一个支持库。支持多用户,多任务,多线程,大文件传送。支持库内部已将多用户计划任务作为线程池保护起来,直接传输完成为止。
应用上极为广泛,如:远程监视控制,远程数据服务等。
这是个多线程的,使用了4个线程池。
建议你使用同步连接模式,这样,客户的每一次请求处理完成后才顺序执行下一个请求,会有一个顺序性。如果你使用异步传输模式 快速的发向服务器 实际上每个发送来的信息都作为一个请求放到了请求列队中。

QQ群:132157144 回答来自:百度易难为易团队
相似回答