求Delphi7下TUdpSocket使用例子! ( 积分: 100 )

  • 主题发起人 主题发起人 jym013
  • 开始时间 开始时间
J

jym013

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi7如何使用TUdpSocket进行通讯. 总是收不到数据.
使用网络监视软件发现, 程序启动后监视的UDP端口并不是我设置的LocalPort.
 
在Delphi7如何使用TUdpSocket进行通讯. 总是收不到数据.
使用网络监视软件发现, 程序启动后监视的UDP端口并不是我设置的LocalPort.
 
http://www.tommstudio.com/ 上有。
http://www.tommstudio.com/ViewSources.aspx?ID=89
 
to WWW:
我想要TUdpSocket的例子而不是Indy的.
说不定哪天Borland不再带Indy了, 还是少点第三方的控件好.
 
告诉你把 ,在internet上面的port不是你分配的,你可以是向服务器那里发送固定的ip 和port,你会看到客户那里的ip和端口的,这个才是真正的port呢。对了服务器可以是adsl的。但是不能路由,固定ip 的更好,客户就无所谓了
 
to 980:
谢谢您的指点, 但我还是没不明白.
能否给出一个能在Delphi7下使用TUdpSocket的实际例子. 能简单的收发的程序.
谢谢!
 
其实你自己已经作了,不用别人的,我给你说过程,你就会明白了。其实udp没有什么服务器。客户端的。为了 说明白,
服务器是固定ip的,客户端任意的。
1:服务器与客户打开。
2:这个时候 客户先给服务器发送信息 (假设是211.96.163.85 端口是 9000)这个时候服务器会接到信息,并且知道此时的真正的客户端的ip和端口号,其实你知道客户那里的ip ,但是客户那里的端口号不是你分配的 (不是你指定哪个就是哪个的,他多数在它从新打开一次,端口号就换一次),你只要知道这些,就可以任意发送了,明白了吧
3:真正的客户端的ip和端口号 是客户端发送时候,由服务器得到的
 
to 980:
您说的对, 客户端的Port根本不用指定, 服务器可以知道.
我在使用TUdpSocket时, 作为服务器一端的LocalPort却不能指定, 这样的话客户根本无法访问.
这是Delphi7所带TUdpSocket的Bug吗? 如何解决? D7的升级包好像也没解决这个问题.
难道D7自带的这个控件不能用?
 
你的服务器 的ip是固定的吗,不是的话是不能实现的,
如果是adsl的话,不能做路由的,否则我知道的根本不能实现,
如果使用第三者间接来做的话的,就是你通过什么方法能让客户知道服务器的ip和端口号,ip知道容易些,但是端口知道可能就很麻烦了
这个和TUdpSocket没有什么关系的。
 
to 980:
在使用D7自带的TUdpSocket时发现, UdpSocket Acitve后其本地端口号不是我设置的.
比如我想我的程序的本机的7800端口进行监视, 但我设置:
udpSocket1.LocalHost := '127.0.0.1';
udpSocket1.LocalPort := '7800';
...
udpSocket1.Open();
此时udpSocket1监视的端口并不是我设置的7800.
我怀疑这是一个Bug.
我使用TTcpServer和TTcpClient及TServerSocket和TClientSocket均未发现类似问题.
980, 您若有空也可试一下, 我现在只想确认这是不是TUdpSocket的一个Bug, 还是我的使用方法不对. 因D7并无例子.
谢谢您花了这么多时间在我的帖子上, 谢谢980及www
 
学习来了
 
我使用过这样的东西,没有你说的这样的情况,只不过有个问题是,假设对方没有打开,你发送信息返回一个错误,这个错误很烦人
你是使用的这个把
IdUDPServer1
你可以都使用这个,不用哪个客户的,可以互相发送,发送不成功就有错误的。
这里得到端口号。怎样安装你应该知道了。我使用过这个,很不错的你看看这个,
IdUDPServer1
delphi本身这个其实也可以的
 
谢谢各位, 特别是980
我使用的是Delphi7中Internet面板上的TudpSocket, 不是Indy的.
可能TudpSocket这个控件有问题, 我在网上查了好多资料, 没人有用得起来的源码.
大家都用fastNet或Indy的.
刚才知道Indy是开源的, 这我喜欢, 就换成Indy吧!
再次谢谢DFW及各位的支持!
qq:5555029 注明delphi
 
看来Delphi所带的TudpSocket的确是个Bug
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
887
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部