S
siso
Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi7 在做一个网络版五子棋游戏。
用的是ServerSocket 和ClientSocket 进行连接(即和聊天程序一样,不用分客户端和服务端两个程序,只要一方进行监听,另一方进行连接)
可是每次连接方得输入监听方(即作为服务机)的ip ,甚感麻烦
我想实现像cs之类的,把 正在监听(作为服务机)的主机和ip添加到客户机的列表,通过选择不同的主机名来进行连接
我的思路是这样的:
局域网中两机例如 s1(192.168.0.1),s2(192.168.0.2)运行五子棋程序,选择作为服务机监听某端口
其他机如 c1 (192.168.0.20) 运行五子棋程序,然后单击搜索时向局域网内进行广播(或者别的什么方法),进行询问,这时有运行五子棋程序且作为服务机在进行监听的s1和s2收到信息
然后分别回复主机名、ip、监听的端口
这时c1的listbox自动添加上面两机的主机名、ip、监听端口
然后我选择不同的主机就可实现连接。
请问如何实现以上过程:
1.广播(或其他的什么方法,越简单越好)
2.服务机接收到广播后把主机名、ip、端口回复给客户机
3.当客户机如c1得到回复后,在listbox1中选择某一主机(例如s1)进行连接后,
这时其他机例如 c2(192.168.0.30) 单击搜索时就不要搜到s1机了,除非s1断开连接
我对网络编程不太熟悉,麻烦给代码时能注释一下。我只有这么多分了,不胜感激!
用的是ServerSocket 和ClientSocket 进行连接(即和聊天程序一样,不用分客户端和服务端两个程序,只要一方进行监听,另一方进行连接)
可是每次连接方得输入监听方(即作为服务机)的ip ,甚感麻烦
我想实现像cs之类的,把 正在监听(作为服务机)的主机和ip添加到客户机的列表,通过选择不同的主机名来进行连接
我的思路是这样的:
局域网中两机例如 s1(192.168.0.1),s2(192.168.0.2)运行五子棋程序,选择作为服务机监听某端口
其他机如 c1 (192.168.0.20) 运行五子棋程序,然后单击搜索时向局域网内进行广播(或者别的什么方法),进行询问,这时有运行五子棋程序且作为服务机在进行监听的s1和s2收到信息
然后分别回复主机名、ip、监听的端口
这时c1的listbox自动添加上面两机的主机名、ip、监听端口
然后我选择不同的主机就可实现连接。
请问如何实现以上过程:
1.广播(或其他的什么方法,越简单越好)
2.服务机接收到广播后把主机名、ip、端口回复给客户机
3.当客户机如c1得到回复后,在listbox1中选择某一主机(例如s1)进行连接后,
这时其他机例如 c2(192.168.0.30) 单击搜索时就不要搜到s1机了,除非s1断开连接
我对网络编程不太熟悉,麻烦给代码时能注释一下。我只有这么多分了,不胜感激!