怎么样获得局域网内其他运行着本程序的计算机名?

两个问题
1,我喜欢玩游戏,所有的局域网游戏在搜索主机的速度都是很快的。
我想做一个类似于局域网聊天的程序,那么怎么样才能获取到其他运行着本程序的计算机名呢?
我手上有几个办法但是都很慢。怎么样才能快一点呢?
2,可不可以这样:程序不停的向网络发一些广播消息,搜索的时候就可以根据广播来知道谁打开了这个程序,但是广播怎么发出呢?
谢谢!
[203 byte] By [null1027-无聊中] at [2008-2-13]
# 1
DWORD WNetOpenEnum(
DWORD dwScope,
DWORD dwType,
DWORD dwUsage,
LPNETRESOURCE lpNetResource,
LPHANDLE lphEnum
);

# 2
没看懂啊,是API吗?
null1027-无聊中 at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...
# 3
每一个程序
With wckUDP
.Protocol = sckUDPProtocol
.Bind 49999
End With
广播
wckUDP.remotehostIP="255.255.255.255"
wckUDP.remoteport=49999
wckUDP.senddata "Hello"
你可能通过dataarrival事件来看有哪些机子运行了你的程序
zqfleaf-动力港湾 at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...
# 4
解决了吗?没解决的话。留下联系方式。
fireup200-砖头.Class at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...
# 5
谢谢!!
to:zqfleaf(动力港湾) 你的方法我明白了,向255.255.255.255发送消息就可以使所有在线计算机都可以收到消息了,这个就是广播的方法吧。
to: fireup200(砖头.NET) 你好,请问除了这个还有其他不同的方法吗?
null1027-无聊中 at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...
# 6
除了这个还有个办法。-->先运行一个服务端,然后在其他的机器上运行客户端。客户端开始运行时向服务端发送自己的主机名。这样就可以了。
wqhj2000-阿杰 at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...
# 7
谢谢wqhj2000(阿杰) 的办法,继续征求答案中……
null1027-无聊中 at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...
# 8
不一定需要通过计算机名,直接用IP地址也可以的啊!

用广播是可行的但是要注意频繁的广播会导致网络性能的降低,
usaspy-行走的鱼 at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...
# 9
个人觉得wqhj2000(阿杰) 的方法很好
xayzmb-行者 at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...
# 10
wqhj2000(阿杰)的办法有个问题,怎么知道服务器的计算机名或者IP呢?既然要连接服务器,二者至少知道一样吧。

有些用户连计算机名是什么都不知道。更不用说IP了。
null1027-无聊中 at 2007-10-21 > top of Msdn China Tech,visual basic,网络编程...