作者littlepanada (淘气花猪猪与可爱小熊猫)
看板java
标题Re: 请问要如何让2~5人同时玩一个JAVA的游戏?
时间Mon Dec 24 23:51:54 2007
※ 引述《PsMonkey (痞子军团团长)》之铭言:
: ※ 引述《littlepanada (淘气花猪猪与可爱小熊猫)》之铭言:
: : 先跟大家说声对不起
: : 我最近才开始学习写java的applet
: : 所以懂得的不多 还请多多指教
: : 我写好了一个可以最多5人对战的poker(美式梭哈)游戏
: : 我的server/client端 写法是从一个简单的聊天applet程式演变过来的
: : 程式码是 http://www.cn-java.com/download/data/book/socket_chat.pdf
: : (网页的最下面有附带类似MSN聊天program的程式码)
: : 我在我自己家的两台电脑(或是同一台电脑)上测试
: : 没问题 可以执行5人同时玩
: : 但是我把我的 .jar 档案传给我在别国的朋友 他却不能连上我的server
: : 然後我把那个阳春的聊天程式也做成.jar档案 要我朋友试试看能否跟我对话
: : 结果也是不行 (我都有记得要跑server端先 然後才让client连线)
: : 我又研究了一下 好像意思是 我的程式连线范围只能在local network
: 我简单扫了一下程式码
: 并没有看到你所谓的「只能在 lan 连线」的限制
: (万一我有看漏... 那诘谯我吧... 不要客气... \囧/)
: 我怀疑你的 Server 是躲在 IP 分享器(or NAT)下
: 你也许先厘清(或是呈报上来 :P)你的 host 值是多少,还有相关的网路资料
感谢您的回应
这是我用一些程式码 (在server端的listen里面) 所得到的数值...
程式码:
// Create the ServerSocket
ss = new ServerSocket( port );
// Tell the world we're ready to go
System.out.println( "Listening on "+ss );
// Keep accepting connections forever
InetAddress local = InetAddress.getLocalHost();
System.out.println ("Local IP : " + local.getHostAddress());
//我的IP是71.198.137.34
InetAddress inet = InetAddress.getByName("71.198.137.34"); // Local IP : 192.168.1.3
System.out.println ("Host: " + inet.getHostName());
得到的数值: (System.out的东西)
Listening on ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=81]
Local IP : 192.168.1.3
Host: c-71-198-137-34.hsd1.ca.comcast.net
我让client端去连我的电脑名称 port 听说要用80才是什麽webserver 但是好像我的电脑
正好port80都没空 所以我先随便用个81来代替
import javax.swing.JApplet;
public class applet extends JApplet
{
public void init()
{
String host = "dogandca-41nzft";
int port = 81;
Client content = new Client( host, port );
setContentPane(content);
}
}
若我有听懂
您言下之意是说
基本上没有什麽lan限制的话 那麽应该可以用那聊天程式跟远方朋友对谈
只要玩家连上我的主机名称和某个port就可以达成 不知道我有没误会
若是这样 那应该不需要把code大板金吧!?
"Server 是躲在 IP 分享器(or NAT)下" 这句话 我不太懂 我跟你说我家的网路情况
好了
我是住在美国 用的是comcast的DSL 家里有用无线router
我有3台电脑A,B,C (C是手提)
A和B是直接用网路线连上router
只有C是用无线的
用A当server端 AB可连线聊天
但C就连不上了
这个不知道有没有回答到你问的10%呀?
至於 "相关的网路资料"
我很想让你知道 但是我不知道你要的是什麽资料耶 Orz
是不是要到 开始-执行-cmd-ipconfig 找呀?
不管怎样 我用ipconfig得到的数据是:
Ethernet adapter 区域连线:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.3
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
不知道这样有没有回答精准
很不好意思 我网路概念很浅也很散
非常感谢你的回应
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 71.198.137.34
1F:推 godfat:躲在 router 下别人当然连不到罗,设设你的 router 吧 12/24 23:55
2F:推 PsMonkey:楼上说得不太正确,另外,写往路程是没有网路概念怎麽搞 12/24 23:57
3F:→ littlepanada:请问 到底哪一个hostname才是我该用来让别人连线的? 12/25 00:04
4F:→ littlepanada:IP: 71.198.137.34 Local IP : 192.168.1.3 12/25 00:07
5F:→ littlepanada:Host: c-71-198-137-34.hsd1.ca.comcast.net 12/25 00:08
6F:→ littlepanada:还是machine name: dogandca-41nzft 12/25 00:08
7F:→ littlepanada:1楼大若说的有帮助 是否意思是不经过router就好? 12/25 00:09
8F:推 godfat:我不知道哪里不太正确,不太熟也是真的,你可以试试 12/25 00:19
9F:→ godfat:通常我是会在 router 开 port 导到自己电脑上 12/25 00:20
10F:→ littlepanada:我任何方法都愿意试试看 请问如何开一个port呢? 12/25 00:24
11F:推 godfat:看起来你的 router 是 192.168.1.1, 连上去看看 12/25 00:33
13F:→ littlepanada:在Router MAC Address 是否用Use Computer MAC Addre 12/25 00:42
14F:推 PsMonkey:网路问题请移驾别处询问 12/25 01:07
15F:推 Srjiang:请上google找 "ip分享器 架站 设定" 就会有参考文章了 12/25 01:09
16F:推 moonjuice:不知道说的对不对..这边可能要找TCP/IP的书研读噜.. 12/25 01:11
17F:→ littlepanada:谢谢各位 有问题再请赐教 12/25 01:17
18F:推 H45:z-5-2-4 12/25 14:49
19F:→ H45:Applet 有 sign 过吗? 12/25 14:50
20F:推 PsMonkey:他有包成 jar 档过啦... 12/25 22:44