首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

InetAddress种作为参数,实参的格式是怎样的呢,是要写ip地址吗,比如127.0.0.1直接写下去吗

2013-03-26 
InetAddress类作为参数,实参的格式是怎样的呢,是要写ip地址吗,比如127.0.0.1直接写下去吗例子:服务器客户

InetAddress类作为参数,实参的格式是怎样的呢,是要写ip地址吗,比如127.0.0.1直接写下去吗
例子:服务器客户端聊天程序片段,,
public void mb_run(InetAddress address,int port)//address是网络地址,port是端口号


。。。。。。。。
Socket s=new Socket (address,port);

。。。。。。。。。



public static void main(String args[])


。。。
app.mb_run(127.0.0.1, 5000);//app是一个对象,不要管他。而且这句是错的,因为实参127.0.0.1不对

。。。。

我只想知道这个实参应该怎样写才算inetaddress类型,还有就是如果我想在我的机子上运行服务器端程序,在别的ip地址下的另一台电脑运行客户端程序,那么那个address应该填的是外网ip,还是内网ip呢?
[解决办法]
显然你要生成一个InetAddress类型的对象来当作参数传递吧?

一般来说可以:
    app.mb_run(InetAddress.getByName("127.0.0.1"), 5000);

因为你这里其实就是本机地址,所以可以简单点:
    app.mb_run(InetAddress.getLocalHost(), 5000);
[解决办法]
漏了你第二个问题:
还有就是如果我想在我的机子上运行服务器端程序,在别的ip地址下的另一台电脑运行客户端程序,那么那个address应该填的是外网ip,还是内网ip呢?


准确的说是:另一台电脑能用什么IP访问到你的电脑?
如果另一台电脑跟你是同一个局域网,那么内网IP就行了;
如果另一台电脑是互联网上的,那么必须是外网IP,但是也没这么简单;一般来说还需要在路由(或网关)上设置转发(或端口开放)规则等,才能把你本机的端口直接暴露到互联网上去。

热点排行