大家在delphi 7中 TCP 编程一般用什么控件比较好?推荐的时候能不能提供些使用介绍和源码?
6 个解决方案
#1
可以考虑ICS(Internet Component Suite)控件,这个控件是免费的
其中有个WSocket,挺好的,我正在用
好像也支持D7吧,有DEMO,自己去研究吧
其中有个WSocket,挺好的,我正在用
好像也支持D7吧,有DEMO,自己去研究吧
#2
给你个SVN地址吧
http://svn.overbyte.be:8443/svn/ics/trunk
用户:ics
密码:ics
http://svn.overbyte.be:8443/svn/ics/trunk
用户:ics
密码:ics
#3
给的地址可以访问,那怎么从哪个网站下载内容啊?
#4
我都这样用的,从来没问题,不过没有用reandln,用的是ReadString
tcpClt.Port := f_ini.ReadInteger('public','port',6000);
tcpClt.Host := f_ini.ReadString('public','ip','127.0.0.1');
PrintMsg(richNote, ' 连接服务器:'+tcpClt.Host+' '+IntToStr(tcpClt.Port));
//连接
tcpClt.Connect(10000);
tcpClt.ReadTimeout := 10000;
//发送数据
tcpClt.Write(buff);
//接收返回数据
buff := tcpClt.ReadString(2);
buff := buff + tcpClt.ReadString(ord(buff[1])*256 + ord(buff[2]));
buff := Byte2Hex(buff);
tcpClt.Port := f_ini.ReadInteger('public','port',6000);
tcpClt.Host := f_ini.ReadString('public','ip','127.0.0.1');
PrintMsg(richNote, ' 连接服务器:'+tcpClt.Host+' '+IntToStr(tcpClt.Port));
//连接
tcpClt.Connect(10000);
tcpClt.ReadTimeout := 10000;
//发送数据
tcpClt.Write(buff);
//接收返回数据
buff := tcpClt.ReadString(2);
buff := buff + tcpClt.ReadString(ord(buff[1])*256 + ord(buff[2]));
buff := Byte2Hex(buff);
#5
up.....
#6
delphi 7自带的Indy是v9.0.10版本的,在v9.0.18版本中已经解决了TIdTCPClient 组件 ReadLn 方法的超时参数无效这个问题。
查看delphi 7中Indy版本的方法:打开delphi 7,在窗口随便放置一个Indy组件,然后再组件上点右键,第一个就是版本信息了。
Indy v9.0.18下载地址:http://www.indyproject.org/Sockets/Download/files/Indy9.en.aspx
升级Indy的方法:
1、卸载旧的版本,Component -> Install packages...在Design packages中找打Internet Direct(Indy)forD7..,选择,然后点击“Remove”卸载。
2、在delphi目录中的Source文件夹中有一个Indy文件夹,将内容全部删除,然后将下载的indy9.0.18_source文件夹内容全部复制进去。
3、安装新版本:File -> open 找到 ...\Borland\Delphi7\Source\indy\dclIndy70.dpk,编译然后安装即可。
4、然后将所有文件复制到delphi目录中的lib文件夹中,覆盖掉原来的文件。即可。
新的版本与旧版本图标有差别,全部是新的样子。
查看delphi 7中Indy版本的方法:打开delphi 7,在窗口随便放置一个Indy组件,然后再组件上点右键,第一个就是版本信息了。
Indy v9.0.18下载地址:http://www.indyproject.org/Sockets/Download/files/Indy9.en.aspx
升级Indy的方法:
1、卸载旧的版本,Component -> Install packages...在Design packages中找打Internet Direct(Indy)forD7..,选择,然后点击“Remove”卸载。
2、在delphi目录中的Source文件夹中有一个Indy文件夹,将内容全部删除,然后将下载的indy9.0.18_source文件夹内容全部复制进去。
3、安装新版本:File -> open 找到 ...\Borland\Delphi7\Source\indy\dclIndy70.dpk,编译然后安装即可。
4、然后将所有文件复制到delphi目录中的lib文件夹中,覆盖掉原来的文件。即可。
新的版本与旧版本图标有差别,全部是新的样子。
#1
可以考虑ICS(Internet Component Suite)控件,这个控件是免费的
其中有个WSocket,挺好的,我正在用
好像也支持D7吧,有DEMO,自己去研究吧
其中有个WSocket,挺好的,我正在用
好像也支持D7吧,有DEMO,自己去研究吧
#2
给你个SVN地址吧
http://svn.overbyte.be:8443/svn/ics/trunk
用户:ics
密码:ics
http://svn.overbyte.be:8443/svn/ics/trunk
用户:ics
密码:ics
#3
给的地址可以访问,那怎么从哪个网站下载内容啊?
#4
我都这样用的,从来没问题,不过没有用reandln,用的是ReadString
tcpClt.Port := f_ini.ReadInteger('public','port',6000);
tcpClt.Host := f_ini.ReadString('public','ip','127.0.0.1');
PrintMsg(richNote, ' 连接服务器:'+tcpClt.Host+' '+IntToStr(tcpClt.Port));
//连接
tcpClt.Connect(10000);
tcpClt.ReadTimeout := 10000;
//发送数据
tcpClt.Write(buff);
//接收返回数据
buff := tcpClt.ReadString(2);
buff := buff + tcpClt.ReadString(ord(buff[1])*256 + ord(buff[2]));
buff := Byte2Hex(buff);
tcpClt.Port := f_ini.ReadInteger('public','port',6000);
tcpClt.Host := f_ini.ReadString('public','ip','127.0.0.1');
PrintMsg(richNote, ' 连接服务器:'+tcpClt.Host+' '+IntToStr(tcpClt.Port));
//连接
tcpClt.Connect(10000);
tcpClt.ReadTimeout := 10000;
//发送数据
tcpClt.Write(buff);
//接收返回数据
buff := tcpClt.ReadString(2);
buff := buff + tcpClt.ReadString(ord(buff[1])*256 + ord(buff[2]));
buff := Byte2Hex(buff);
#5
up.....
#6
delphi 7自带的Indy是v9.0.10版本的,在v9.0.18版本中已经解决了TIdTCPClient 组件 ReadLn 方法的超时参数无效这个问题。
查看delphi 7中Indy版本的方法:打开delphi 7,在窗口随便放置一个Indy组件,然后再组件上点右键,第一个就是版本信息了。
Indy v9.0.18下载地址:http://www.indyproject.org/Sockets/Download/files/Indy9.en.aspx
升级Indy的方法:
1、卸载旧的版本,Component -> Install packages...在Design packages中找打Internet Direct(Indy)forD7..,选择,然后点击“Remove”卸载。
2、在delphi目录中的Source文件夹中有一个Indy文件夹,将内容全部删除,然后将下载的indy9.0.18_source文件夹内容全部复制进去。
3、安装新版本:File -> open 找到 ...\Borland\Delphi7\Source\indy\dclIndy70.dpk,编译然后安装即可。
4、然后将所有文件复制到delphi目录中的lib文件夹中,覆盖掉原来的文件。即可。
新的版本与旧版本图标有差别,全部是新的样子。
查看delphi 7中Indy版本的方法:打开delphi 7,在窗口随便放置一个Indy组件,然后再组件上点右键,第一个就是版本信息了。
Indy v9.0.18下载地址:http://www.indyproject.org/Sockets/Download/files/Indy9.en.aspx
升级Indy的方法:
1、卸载旧的版本,Component -> Install packages...在Design packages中找打Internet Direct(Indy)forD7..,选择,然后点击“Remove”卸载。
2、在delphi目录中的Source文件夹中有一个Indy文件夹,将内容全部删除,然后将下载的indy9.0.18_source文件夹内容全部复制进去。
3、安装新版本:File -> open 找到 ...\Borland\Delphi7\Source\indy\dclIndy70.dpk,编译然后安装即可。
4、然后将所有文件复制到delphi目录中的lib文件夹中,覆盖掉原来的文件。即可。
新的版本与旧版本图标有差别,全部是新的样子。