雷神游戏

zxcvasdf 2002-02-07 02:03:36
雷神游戏,服务器端开启后,如果有客户端请求连接,就可以玩了,请问客户端是怎么知道此时的服务器端地址的,new Socket(InetAddress,port)中的InetAddress是怎么设的?
...全文
39 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sharetop 2002-02-07
getByName的IP地址是可以输入的,当然可以是变量了,但是肯定是要一个具体的IP地址。也就是说在调用这个方法之前你可以从各种方法得到IP但是要调用时一定是一个具体的值了。

服务器当然要开着了,否则怎么叫服务器呢?

就象如果CSDN的服务器down了,大家也不是都不能来灌水了:)
回复
zxcvasdf 2002-02-07
to sharetop:
那服务器每时每刻都要开着喽,不能down机,什么时候服务器歇了,全世界的人都不能玩这个游戏啦?
回复
xuxb488 2002-02-07
不清楚....
回复
zxcvasdf 2002-02-07
to hanson_yi():
InetAddress.getByName(...)中的参数是不是必须固定,能不能在程序中动态变化。
回复
sharetop 2002-02-07

yes
回复
zxcvasdf 2002-02-07
刚才是对sharetop说的。
回复
zxcvasdf 2002-02-07
你的意思是说,我建一个主机,同时想服务器发送一个建立主机的请求,服务器则将我存入数据库,别人点加入按钮,则从服务器的数据库读出主机列表,然后选择一个与其连接,对吗?
回复
hanson_yi 2002-02-07
我想大概是这样?
许多游戏是有自己的固定的端口,如果我新开一个游戏,它会在内部网中向所有的机器要求连接这个端口。然后根据回应。显示一个列表!
InetAddress用法:
InetAddress address = InetAddress.getByName("www.sina.com.cn")
回复
sharetop 2002-02-07

这个列表可以从服务器上读过来吧?
比如你肯定你的服务器地址,这个地址是铁定的了,在这个地址上你存着全部可用主机的地址列表,然后在ap中你从你的服务器地址上取出所有可用主机地址列表,是不是比较笨?

其它方法我也不知道了:)

当然,你的服务器上有个程序可以随时扫描当前可用的主机,把地址加入数据库中,让每个用户可以来找到可用主机。我想这样 比在客户端去扫描会好点吧,至少速度会快多了。
回复
zxcvasdf 2002-02-07
我指的是AP,很多连网游戏,比如极品飞车,都是这样,进入游戏会有个当前已建立的主机列表,然后选择其一,与其连接。我想问,是怎么知道已建了这么多主机,技术上怎么实现的?
回复
sharetop 2002-02-07
不会吧,我刚回了,但是不显示??

只因为我看到它显示添加成功,就关闭了窗口,没等它重新显示这个页面 :(



再说一次:
分两种情况,一是application,你一定要输入这个IP地址,至少第一次要输入,以后可以保存在客户端随时读出来即可,或是安装时指定也可以。

二是applet,如果它与server是在一个IP上,可以不用指定了,因为applet可以取到当前主机的IP地址,这样你就可以用这个IP来打开Socket了。


回复
sharetop 2002-02-07

当然要指定这个地址了。

两种情况,一种是application,你的客户端要输入这个地址,至少第一次要输入,可以保存下来供以后使用。

一种是applet,它如果是与你的server在同一台机器上,也就是说applet的主机IP与这个服务器程序的IP是一样的,可以从applet中取到这个IP地址,就可以不用自己输入了。
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-02-07 02:03
社区公告
暂无公告