计算机网络基本的概念在一篇文章已经粗略的介绍了一下。这一文章主要是应用程序怎么使用网络的内部过程!
网络编程中怎么拿到IP地址呢?拿到之后又能干什么?
网络通信要有硬件和软件的结合才能广泛的应用,如果你只是有硬件没有软件,你只能拿着一个硬邦邦的科技产品发呆无从下手。反之一个软件没有硬件的支持也是一团看不见的数据而已,甚至产生不了数据。软硬件相结合才能发挥更大的作用,那两台相隔两地的设备是如何联网和数据连接的呢?
这就需要到网络技术这一块的知识,这里只介绍一点皮毛。
在网络编程中要拿到IP地址则需要到InetAddress类,使用这个类里面的方法则可以拿到相对应的IP地址。
01InetAddress类
获取本机IP地址,返回一个InetAddress对象。
InetAddresslocIP=InetAddress.getLocalHost();
System.out.println(locIP.getHostAddress());
System.out.println(locIP.getHostName());
获取给定主机的IP地址。
InetAddressip2=InetAddress.getByName(localhost);
System.out.println(ip2.getHostAddress());
通过给定的字节数组创建IP对象。
byte[]ipArr={(byte),(byte),(byte)10,(byte)};
InetAddressip3=InetAddress.getByAddress(ipArr);
上面这一行代码是自己给自己创建IP地址。输出结果是:..10.。
上面这是简单地获取自己本机的IP地址和自己创建的IP地址。如果要想实现进一步地通信则需要两端建立各自的Socket。
务器端通过ServerSocket建立,客户端通过Socket建立,服务器端ServerSocket启动后等待客户端Socket链入,当客户端Socket主动连接服务器端ServerSocket,服务器端接受连接即完成通道建立,通道建立完成后就可以通信,这种通信模式成为Client/Server模式,简称C/S模式。
服务端代码实现如下:
服务端客户端代码如下:
客户端输出结果为:
结果上面演示了服务端和客户端之间的通信过程。
如果不是很了解的话,可以参考一下