下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

java中的服务器和客户机如何使用

作者:课课家教育     来源: http://www.kokojia.com点击数:851发布时间: 2016-02-29 19:46:19

标签: java服务器java设计java编程

大神带你学编程,欢迎选课

  网络最基本的精神就是让两台机器连接到一起,并相互“交谈”或者“沟通”。一旦两台机器都发现了对方,就可以展开一次令人愉快的双向对话。但它们怎样才能“发现”对方呢?这就象在游乐园里那样:一台机器不得不停留在一个地方,侦听其他机器说:“嘿,你在哪里呢?”

java中的服务器和客户机如何使用_java服务器_java设计_课课家

  “停留在一个地方”的机器叫作“服务器”(Server);到处“找人”的机器则叫作“客户机”(Client)或者“客户”。它们之间的区别只有在客户机试图同服务器连接的时候才显得非常明显。一旦连通,就变成了一种双向通信,谁来扮演服务器或者客户机便显得不那么重要了。

  所以服务器的主要任务是侦听建立连接的请求,这是由我们创建的特定服务器对象完成的。而客户机的任务是试着与一台服务器建立连接,这是由我们创建的特定客户机对象完成的。一旦连接建好,那么无论在服务器端还是客户机端,连接只是魔术般地变成了一个IO数据流对象。从这时开始,我们可以象读写一个普通的文件那样对待连接。所以一旦建好连接,我们只需象使用自己熟悉的IO命令即可。这正是java连网最方便的一个地方。

  1. 在没有网络的前提下测试程序

  由于多种潜在的原因,我们可能没有一台客户机、服务器以及一个网络来测试自己做好的程序。我们也许是在一个课堂环境中进行练习,或者写出的是一个不十分可靠的网络应用,还能拿到网络上去。IP的设计者注意到了这个问题,并建立了一个特殊的地址——localhost——来满足非网络环境中的测试要求。在Java中产生这个地址最一般的做法是:

  INETAddress addr = InetAddress.getByName(null);

  如果向getByName()传递一个null(空)值,就默认为使用localhost。我们用InetAddress对特定的机器进行索引,而且必须在进行进一步的操作之前得到这个InetAddress(互联网地址)。我们不可以操纵一个InetAddress的内容(但可把它打印出来,就象下一个例子要演示的那样)。创建InetAddress的唯一途径就是那个类的static(静态)成员方法getByName()(这是最常用的)、getAllByName()或者gETLocalHost()。

  为得到本地主机地址,亦可向其直接传递字串"localhost":

  InetAddress.getByName("localhost");

  或者使用它的保留IP地址(四点形式),就象下面这样:

  InetAddress.getByName("127.0.0.1");

  这三种方法得到的结果是一样的。

赞(16)
踩(1)
分享到:
华为认证网络工程师 HCIE直播课视频教程