A
amdcwf
Unregistered / Unconfirmed
GUEST, unregistred user!
程序中C端要向S端发送的消息有不同种类的,所以一般发送的消息是不定长的,比如有时候用SendText()来发送,有时又是用SendBuffer()来发送,所以在接收时S端怎么知道该用ReceiveBuffer()来收还是用ReceiveText()呢?
或着如果都用ReceiveBuffer来收,那又怎么知道应该接收多大的字节数呢。
(receiveLength这个属性没有用,因为它只能用来返回说当前接收缓冲有多少个未接收的字节)
那么在S端该如何以统一的方式来接收这些消息?
对于这个问题,我在程序中用了双端口,一个用来接状态消息,一个用来接收数据消息
也就是说,在C端要发送数据时,先通过状态端口发送一个状态消息说,即将开始发送数据
并且这个消息含有要发送数据的大小,此时,S端检查数据端口是否忙,如果忙则通过状态端口给C端发送一个忙消息。这样发送数据端口与发送状态的端口就分开了,也就解决了问题。
不过,我想肯定有更简单的方法
请大侠们发挥一下
或着如果都用ReceiveBuffer来收,那又怎么知道应该接收多大的字节数呢。
(receiveLength这个属性没有用,因为它只能用来返回说当前接收缓冲有多少个未接收的字节)
那么在S端该如何以统一的方式来接收这些消息?
对于这个问题,我在程序中用了双端口,一个用来接状态消息,一个用来接收数据消息
也就是说,在C端要发送数据时,先通过状态端口发送一个状态消息说,即将开始发送数据
并且这个消息含有要发送数据的大小,此时,S端检查数据端口是否忙,如果忙则通过状态端口给C端发送一个忙消息。这样发送数据端口与发送状态的端口就分开了,也就解决了问题。
不过,我想肯定有更简单的方法
请大侠们发挥一下