对方发送数据的方法是封装在一个DLL中,发送的数据是通过tclientsocket发送的;
现在要在D7中用TIDTCPserver来接收数据
在tidtcpserver.onexevute中接收数据时,使用:
var
recedata:string;
recedata:=athread.connection.readln();
无法接收数据........用:
var
recebuffer:array [0..255] of byte;
recelen:integer;fillchar(recebuffer,256,#0);
recelen:=256;
recelen:=athread.Connection.Socket.Recv(recebuffer,recelen);//无法接收数据。。且出现了死循环 -_-#倒底如何接收数据?
现在要在D7中用TIDTCPserver来接收数据
在tidtcpserver.onexevute中接收数据时,使用:
var
recedata:string;
recedata:=athread.connection.readln();
无法接收数据........用:
var
recebuffer:array [0..255] of byte;
recelen:integer;fillchar(recebuffer,256,#0);
recelen:=256;
recelen:=athread.Connection.Socket.Recv(recebuffer,recelen);//无法接收数据。。且出现了死循环 -_-#倒底如何接收数据?
解决方案 »
- delphi 找工作
- 对 Delphi 甚感兴趣,想先有个概念,请指教。
- ▲▲▲ 如何在窗口显示后定时显示一个消息,如时间在10:00显示一个消息???▲▲▲
- 怎么样在程序或的焦点的情况下判断程序没有被操作的时间?
- 关于动态加载控件!(拜托各位大侠)
- 这些控件那里找?TepEfButton,TepEfTrBtn 多谢。
- 在delphi中的dbedit中为什么不能输入日期和时间点?
- 我只设置时间,不设置日期,用什么控件好???怎么使用???
- 基础问题:类似窗体的AfterShow--在线等,即可给分。
- 高分求购!真是高分啊!!
- 如果使speedbutton的caption位于图片之上?
- 请教一个考勤排班程序,出现日历样式排班。
begin
readbuffer(.......);
or
readln(.....);
end;
月亮兄,不知道您有没有测试呢?我试过了,不行。 -_-!!disikj(人大代表):这个我倒没有仔细看,但如果真是这样,那可不妙啊。
难道说,INDY组件中的TIdTcpServer,TIdTcpClient只能配对使用?!我不这么认为,但却始终没有找到数据接收的方法。哎,,,明天再抽时间测试下吧。
可以用这个来接收数据:
var
tempbuff:string; ...
tempbuff:=indytcpserver.connection.readcurrentbuff;//方法名可以不对,记不清了。是可以接收到数据的,但是问题较为严重:
1、并不是每次客户端发数据,服务端就触发接收事件,这个令人很头痛!
2、就算是有接收事件触发,但接收的数据内容却是不正确的!这也令人头痛!附:我的控件并没有设置其他什么属性,只是设置了端口号,然后就开始监听。不知道是不是有什么属性要设置呢?基于上面两点问量,基本放弃了这样接收数据。经过网络查询,从大侠处才知道:原来TINDYTCPSERVER只提供流操作服务,没有同步操作功能,看来,无法这样来实现通讯了。