首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

ReceiveBuf和ReceiveText怎么同时使用而不冲突

2012-03-09 
ReceiveBuf和ReceiveText如何同时使用而不冲突我使用的是TServerSocket和TClientSocket,思路是,对于简单的

ReceiveBuf和ReceiveText如何同时使用而不冲突
        我使用的是TServerSocket   和TClientSocket,思路是,对于简单的信息,现在只使用SendText发送,ReceiveText来接收,
对于复杂的信息(放在结构体中),使用SendBuf发送,用ReceiveText接收,但我不知道如何分开接收,

      望高手赐教!
急!

[解决办法]
服务器端和客户端通信要采用一定的“协议”,即采用一问一答的通信模式,才能保证较安全的传输数据,在约定好了后按照情况使用Send、Receive的相关函数。
[解决办法]
自己做个协议
表示接收的什么数据,然后根据协议去解析
[解决办法]
我以前做的一个远程控制的小软件都使用SendBuf,一般第一部分是控制结构,后面跟扩展,如果有文本从里面抽取出来就可以了
[解决办法]

Delphi(Pascal) code
//这个时候vcl source code 是王道!function TCustomWinSocket.ReceiveText: string;begin  SetLength(Result, ReceiveBuf(Pointer(nil)^, -1));  SetLength(Result, ReceiveBuf(Pointer(Result)^, Length(Result)));end;{第一次取得长度,第二次取得数据}
[解决办法]
一问一答制,发送方和接收方约定好第一个DWORD值(也就是4个字节)为后面缓冲的长度,然后根据这个长度读取相应长度的内容就行了。后面的数据可以根据需要加密。

热点排行