java网络编程(1)
太久没有用java做一些东西了,搞太多的协议框架,基本的东西好像快忘记了~每天抽出一点时间出来,来好好温习下基础,顺便记录下来,以后还忘记可以回来看看==。首先从网络编程开始吧==。这玩意太久没有用了~(注:主要是根据老毕的教程来的)
首先,要网络编程,得知道网络编程的三要素:IP、端口、协议;
一般网络编程是在传输层和网络层这两层上面,最常见的协议就是TCP/IP、UDP,网络编程我们不考虑应用层,搞javaweb才是在应用层上面,底层的网络通讯基本封装起来了,这也就是为什么我回来学网络编程了~
网络编程,肯定用到的包就是java.net这个包啦,查了下API熟悉一下:
写了一个打印主机地址和主机名的小demo==。
1 package com.seven.exercise1; 2 3 import java.net.InetAddress; 4 5 public class Demo1 { 6 7 8 public static void main(String[] args) throws Exception{ 9 InetAddress i = InetAddress.getLocalHost(); 10 System.out.println(i.getHostAddress()); 11 System.out.println(i.getHostName()); 12 } 13 14 15 }
那这么获取别的主机的地址呢?我写了一个获取百度主机地址的小demo:
其中,getAllByName()是用于获取多个主机地址的,如果知道主机地址的话,也可以用getByName来直接获取~
package com.seven.exercise1; import java.net.InetAddress; public class Demo2 { public static void main(String[] args) throws Exception{ InetAddress[] addrs = InetAddress.getAllByName("www.baidu.com"); for(InetAddress i : addrs){ System.out.println(i.getHostAddress()); System.out.println(i.getHostName()); } } }