关于局域网内消息发送和接收的问题?(50分)

  • 主题发起人 主题发起人 ql
  • 开始时间 开始时间
Q

ql

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟想写一个在局域网内通信的程序,想用消息来实现上线和离线的功能,具体思路是这样的:
1、当我登陆时先获得本机的IP地址、主机名、呢称(主机名和呢称我写在自编的INI文件里)。
2、向网内所有的在线用户发送消息,其内容是:IP地址、主机名、呢称、上线。
3、当其他主机收到'上线'消息后自动反馈消息给我,其内容是对方的:IP地址、主机名、呢称、上线。
4、当离线时也是向网内所有的在线用户发送消息,其内容是:IP地址、主机名、呢称、离线。
5、当其他主机收到'离线'消息无须反馈。
请问这样的功能该如何实现?要用什么样的API函数来实现上述功能?
我觉得使用消息比使用ClientSocket和ServerSocket速度来的快。
请高手详细指点一下,小弟是初学者,请写的尽量简单点,因水平实在有限怕看不懂。
谢谢各位师兄!!!
 
在D7的DEMO里有一个NETCHAT例子,就是用SOCKET写的
另外,网上这种例子很多了
如果要买书,可以看一本叫做《DELPHI7项目开发实践》的,里面有完整的代码和讲解
非常实用
 
可用indy控件
 
好多是用udp做的
 
能否给点关于消息传递的例子!!!
谢谢!!!
 
你看看《实景聊天室的例子》也可以,Playicq.com有下载
 
这个很简单哦~
使用UDP控件,发送到***.***.***.255
就广播了。
UDP的使用方法你就看看Help吧,很简单的
 
建议你用UDP组播,自定义报文类型和格式
参考:http://www.playicq.com/dispdocnew.php?t=&id=2079
 
用 indy比较简单
tcpclient.writeln('xxx');
tcpserver.readln(edit1.text);
好像是这样
 
楼上的朋友能否详细点!
 
建议用组播,广播只能在本子网内进行。
TOzw84611:
你的组播例子怎么只能广播,跨不了路由
 
请问:
使用消息比使用ClientSocket和ServerSocket速度来的快
是什么意思?
“消息”指什么?
请指教
 
to seagod007:
这需要路由器支持组播路由,不是程序能解决的。你需要配置路由器。
“组播例子怎么只能广播”这个说法不对,未加入该组播组的主机是收不到该报文的,这与广播不同。
另外广播也并非“能在本子网内进行”(我指逻辑子网),请看:http://www.playicq.com/dispdocnew.php?t=&id=2255
 
http://www.362343.com/dispbbs.asp?boardID=19&ID=284
 
以前很多人要地

公开吧,放着久了也发霉了

http://gujie.zhibo.net
http://free.zhibo.net/gujie.zhibo.net
 
多人接受答案了。
 
后退
顶部