关于ClientSocket和ServerSocket的简单问题

andrew80 2003-08-19 09:05:37
我想用ClientSocket和ServerSocket建立连接,为什么高不定呢?
代码很简单:

ss.open;
cs.open;
cs.sendtext('text');
a:=ss.receivetext;
showmessage(a);

大家看看错在哪里?
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
andrew80 2003-08-21
  • 打赏
  • 举报
回复
问题解决了
谢谢大家
halfdream 2003-08-20
  • 打赏
  • 举报
回复
。。。
cs.open;//问题应该出在这个地方,
//你如果想这样用,必须把你的CLIENTSOCKET设置成阻塞方式,
//在非阻塞方式下,OPEN函数是不等待连接就会返回。
//在没有连接的情况下执行下一语句当然会失败。。
cs.sendtext('text');
。。。
adoquery8 2003-08-20
  • 打赏
  • 举报
回复
var

sbuf:stirng;
re:pchar

clientread事件中:
re:=nil;
while socket.ReceiveLength>0 do
begin
//申请内存
re:=AllocMem(socket.receivelength);
try
relong:=socket.ReceiveLength;
Socket.ReceiveBuf(re^,Socket.receivelength);
sBuf:=strpas(re);
Setlength(sbuf,relong);
//计算数据长度
TotalLen:=TotalLen+ relong;
Statusbar1.Panels.Items[1].Text:='总共接收(Byte): ' + IntToStr(TotalLen);
Statusbar1.Update();
finally
freemem(re);
end;

sbuf:就是你收到的字符串.
3252889 2003-08-20
  • 打赏
  • 举报
回复
ServerSocket必需指定监听端口号
ClientSocket必需指定连接地址和连接端口号

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧