易语服务器如何接收自动分包数据

易语服务器如何接收自动分包数据,第1张

用远程服务进行 *** 作。
1、首先要用到远程服务支持库中的远程服务,请求客户端数据类型(提下支持库)下面写代码。
2、其次新建一个全局变量,变量名为远程服务,类型为远程服务,再建一个全局变量,变量名为请求客户端,类型请求客户端。
3、可以使用这2个类型的对象,这两个类型的使用方法可以进易语言支持库中提示。
4、最后使用请求客户端的发送数据和远程服务的接收数据是自动分包的。

之前遇到过,不过都是一年前了
你是用的UDP还是TCP协议,然后你看看你整个程序流程是否正确,是否正确将IP和端口绑定,并设置了最大连接数之类的,客户端连接数目是否超过服务器最大可接收数据?服务器端是否是接收到新数据后,创建一个新的进程来处理新到的数据,而服务器主程序继续等待下一个即将到达的数据(不然你发送下一个数据的时候服务器可能还没有将上一个数据处理完成,那么这个数据就可能会丢失了)?
反正出现这个问题的原因非常多,你可以用GDB调试工具跟踪一下,应该能找到原因所在。
仔细点,相信你能解决

说点泼冷水的话题
首先确认什么是客户端,什么是服务端
从用户的角度,可见的、可 *** 作的即是客户端,也就是你这里说的java开发的部分。而不可见的部分就是服务端,也就是你说的C部分。
而从网络开发的角度,发起请求的是客户端,而接收请求的是服务端。这与用户感受有很大区别。
当从java请求C的时候,java是客户端,C 是服务端。而当C主动请求时,则C就变成了客户端,而java 变成了服务端。
所以,从网络开发的角度,java想成为此次通信的服务端,必须长期维护一个端口可用,而C 要访问这个端口。
而java为了能够长期维护一个端口,一般采用socket 方式(其他方式也基本上都是基于socket的),由于java已经封装的很好了,只要new Socket(IP,port) 就可以 获得,同时,由于原来C 是服务器,而如果没有多个服务器同时向java端发送请求的话,基本连线程处理都不需要做的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13083529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存