简单的socket问题,请指教啊!(50分)

Z

zkking

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟刚开始socket变成,现在就是如下要求:
有一个65535大小的byte类型的数组CPUROM[],其中有效数据大小已知count,client向server
发送cpurom的内容,发送的是二进制数,所以我用sendbuf
我是这么写的,不知道行不行:
clientsocket1.socket.sendbuf(pchar(cpurom)^,count));
可以吗?
最好能有好点的类似的这种传送源程序,小弟叩谢了!
 
sendbuf(cpurom,count);就OK了
 
那么server那边了?我写的是:
var
i:integer;
recdata:pchar;
i:=socket.receivelength;
getmem(recdata,i);
socket.receivebuf(recdata^,i);
对不对啊
 
现在收是收到了,但是收到的不是二进制数啊,而是几个乱码,不知道怎么回事!
 
你直接
var buf:array[0..1023]of ansiChar;
socket.receivebuf(buf,1024);
就OK了
 
谢谢,搞定了!
 
再问一个问题,socket如何区别两次传送的块了?
我的数据较大,要分块传送,server如何知道这次传送的块的东西不是上次那个块的内容了?
 
顶部