不见五零豪杰墓,动态数组在Indy TcpServer控件下传输问题,array of byte(100分)

  • 主题发起人 主题发起人 chenlidelphibbs
  • 开始时间 开始时间
C

chenlidelphibbs

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾好,昨天三八节,我一宿没睡!
大虾,我是陈力,我问一个问题,
writerbuffer(buffer名称A,长度,false);
readbuffer(buffer名称B,长度)
如果是bufferA和B在两边的过程定义中都是一样的长度
myA:array[1..255] of byte;
myB:array[1..255] of byte;
就可以正常通讯,但是如果
myADyn:array of byte;
myBDyn:array of byte;
请问readbuffer(buffer名称B,长度)的第二个参数怎么得到呀!!
我的qq:552736,chenli178cm@sina.com拜托相助,我在线的,拜托大虾们救命吧!!
下面的情况可以{array[1..255] of byte}
发送:
with AThread.Connection do begin
WriteBuffer(myA,255,False);//发送 固定长度
Disconnect;end;
接收:
ReadBuffer(myB,255);
但是
WriteBuffer(myADyn,length(myADyn),False);//发送 动态长度
接收:
ReadBuffer(myBDyn,??什么参数);就没有办法了。求救!!!!大虾救我!
我爱周星驰,和姚明,我现在不想死,快救我呀,200分,不要Indy网的demos,要不然葬了我吧。[:(]
还问各位老师,idTcpServer和idTcpClient好像分别都能ReadBuffer,WriteBuffer?没有分别呀?
还有WriteBuffer能不能用readstream读取?
 
对不起,点错了,是100,各位老师开开恩,今天拜托大家了,唉,我都疯了
 
服务器接收用
var meths:string
meths:=AThread.Connection.CurrentReadBuffer;
AThread.Connection.InputBuffer.Clear;
发送用
AThread.Connection.writebuffer(pchar(medths)^,length(meths))
 
发送:
WriteBuffer(myADyn,length(myADyn),False);//发送 动态长度 改为
WriteBuffer(myADyn[0],length(myADyn),False);//发送 动态长度

接收:
ReadBuffer(myBDyn,??什么参数);就没有办法了。求救!!!!大虾救我!
首先应该知道接收的长度Len, 然后 SetLength(myDByn, Length), 再接收
 
dongliang110您好,谢谢您给我的回答,因为您关心我的问题,我十分感激您,但是jackchin给我的提示最大,我的问题还我还在思考,我很感激您,他对我帮助最大,所以我给您20分,请您不要生气,我的邮箱是chenli178cm@sina.com,希望我们经常联系。
jackchin,谢谢您,我的问题您这么一早给我解答,我十分感激您,真的,你真是救人的好人!!我叫陈力,在北京海淀,我真的很感激您,呵呵,您技术好,人也慷慨,解答问题很到点子上面,我谢谢您。但是dongliang110这哥们赏脸回答我的问题,我分20分,只能给您80分,不要怪我。我真的感激您,是您点拨了我。这个问题我还是思考。我现在这样做的,发送array of byte:WriteBuffer(myADyn[0],length(myADyn),False);,然后用readstream:
myMMM:=TMemoryStream.Create;
ReadStream(myMMM,-1,true);接收没有问题,谢谢您,我的邮箱是chenli178cm@sina.com,qq:是552736真心希望能够认识您这样的朋友。(注:对我帮助最大的是myADyn[0],如果定长比如myAFix:array[0..x] of byte,是直接WriteBuffer(myAFix[0],length(myAFix),False);,就可以的,)好了说到这里。
感谢俩位热心的积极的技术朋友。
蠢人陈力
 
修改:如果定长比如myAFix:array[0..x] of byte,是直接WriteBuffer(myAFix,length(myAFix),False);,就可以的,)
 
dongliang110,jackchin,俩个大侠,真的仗义!!!谢谢您们!
 
我也正在用indy做传输程序,有个问题能否帮忙看看第一个问题。
http://www.delphibbs.com/delphibbs/dispq.asp?LID=2486212
 
后退
顶部