下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、step by step(java 网络篇)本篇为您介绍的是如何通过套接字(socket)编写基于tcp/ip(ipv4)的网络应用程序。 在基于tcp的网络通讯中,每次举行数据传输之前,均需要在服务器端和客户端之间建立tcp衔接,之后再在该衔接通道上举行数据传输。然而在衔接之前,我们还需要做哪些预备呢?很显然,假如我们是客户端,则需要预先知道待衔接的服务器的ip地址和端口号。这就犹如打电话,通话之前先拨号,拨号之前需要知道对方的电话号码。那么对于服务器而言又需要做什么呢?因为它是被动等待客户端发起衔接的,因此服务器唯一需要预备工作是监听指定的ip地址和端口号。可以看出,无论是服务器还是客户端
2、,在预备建立衔接之前都是需要与ip地址和端口号打交道的。那么我们就从这里开头吧。 1. 套接字地址: 1) 如何通过java的类库猎取主机ip地址。 inetaress类代表了一个网络目标地址,包括主机名和数字类型的地址信息。该类有两个子类,inet4address和inet6address,分离对应于目前ip地址的两个版本。inetaddress实例是不行变的,一旦创建,每个实例就始终指向同一地址。见如下示例: 1 public class mytest 2 public ic vo main(sing args) 3 /1. 通过networkinterface类枚举出当前主机的所有网络设
3、备数据 4 try 5 /1.1 返回当前主机每一个网络接口对应的实例 6 enumeration networkinterface interfacelist = networkinterface.getnetworkinterfaces(); 7 if (interfacelist = null) 8 system.out.print("-no interfaces found-"); 9 ee 10 while (interfacelist.hasmoreelements() 11 networkinterface iface = interfacelist.ntel
4、ement();12 /1.2 iface.getname()办法返回的是设备的名称,通常由字母和数字联合构成。13 system.out.println("interface " + iface.getname() + ":");14 /1.3 枚举出真正持有ip地址信息的对象15 enumeration inetaddress addrlist = iface.getinetaddresses();16 if (!addrlist.hasmoreelements()17 system.out.println("t(no addresses
5、for this interface.");18 while (addrlist.hasmoreelements() 19 inetaddress addr = addrlist.nextelement();20 /1.4 这里输出的就是我们通常所说的点分形式的ip地址,如192.163.1.121 if (addr instaeof inet4address)22 system.out.println("taddress " + addr.gethostaddress();23 24 25 26 ch (socketexception e) 27 system.
6、out.println("error getting network interfaces: " + e.getmessage();28 29 /2. 按照指定主机名(host),猎取该主机的所有网络设备信息。30 string host = "stephen-pc"31 try 32 system.out.println(host + ":");33 /2.1 通过主机名称挺直猎取该主机的所有网络地址。34 inetaddress addrlist = inetaddress.getallbyname(host);35 for (i
7、netaddress addr : addrlist) 36 /2.2 gethostname()猎取的是主机名,gethostaddress()猎取的是点分形式的ip地址。37 if (addr instanceof inet4address)38 system.out.println("t" + addr.gethostname() + "/" + addr.gethostaddress();39 40 catch (unknownhostexception e) 41 system.out.println("tunable to addr
8、ess for " + host);42 43 44 45 /* 输出结果如下:46 interface lo:47 address 127.0.0.148 interface net0:49 (no addresses for this interface.50 interface net1:51 (no addresses for this interface.52 interface net2:53 (no addresses for this interface.54 interface net3:55 (no addresses for this interface.56 interface ppp0:57 (no addresses for this interface.58 interface eth0:59 (no addresses for this interface.60 interface eth1:61 (no addresses for this interface.62 interface eth2:63 (no addresses for this interface.64
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校与学生安全协议书
- 建发房产定金合同范本
- 工程合同纠纷解协议书
- 抖音代发协议合同模板
- 安徽林地承包合同范本
- 房屋购买合同更改协议
- 建筑工程保险合同范本
- 工程送水送电合同范本
- 小学承包餐厅合同范本
- 承包焊接管道合同范本
- 人情世故培训课件
- 商品混凝土实验室操作手册
- 资金调拨拆借管理制度
- 装饰装修工程监理月报
- 超星尔雅学习通《美的历程:美学导论(中国社会科学院)》2025章节测试附答案
- 教学课件-积极心理学(第2版)刘翔平
- 2019人教版高中物理必修第一册《第二章 匀变速直线运动的研究》大单元整体教学设计2020课标
- DGTJ 08-2176-2024 沥青路面预防养护技术标准(正式版含条文说明)
- DB33 802-2013 铝合金铸件可比单位综合能耗限额及计算方法
- 移植后免疫监测技术-洞察分析
- 《车用动力电池液冷板技术条件》
评论
0/150
提交评论