1.网络通信
就是两台设备之间通过网络实现数据传输
网络通信将数据通过网络从一台设备传输到另一台设备
java.net包下提供了一系列的类与接口帮助程序员完成网络通信。
2.网络
3.IP地址
4.InetAddress类
首先要获取本机的InetAddress类对象
InetAddress localhost = InetAddress.getLocalHost(); //获取本机InetAddress对象
InetAddress host1 = InetAddress.getByName(); //根据指定的主机名 或者 指定的域名获取对象
String host2 = InetAddress.getHostAddress(); //获取对应的ip地址
String host3 = InetAddress.getHostName(); //获取host3对应的主机名或域名
5.Socket套接字
6.TCP网络通信编程
首先编写服务端程序,当客户端连接到服务端,其实客户端也是通过一个端口和服务器进行通讯的,这个端口由TCP/IP分配
ServerSocket serversocket = new ServerSocket(9999); //表示监听9999端口,前提是该端口并未被占用,否则会有异常,该serversocket可以对应多个socket,即多个客户端连接服务器
Socket socket = serversocket.accept(); //表示当有客户端连接,就会返回一个Socket对象
InputStream is = socket.getInputStream(); //通过socket对象获取到输出流
byte[] buf = new byte[1024];
int readlen = 0;
while((readlen = is.read(buf)) != -1){
System.out.println(new String(buf,0,readlen));
} //通过定义缓冲区来读取数据通道
is.close();
socket.close();
serversocket.close(); //客户端要多关闭一个
编写客户端程序
Socket socket = new Socket(InetAddress.getLocalHost() , 9999); //连接主机的9999端口,连接成功返回socket对象
OutputStream os = socket.getOutputStream(); //通过socket对象获取到输出流
os.write("hello"); //通过输出流的写入方法把数据写到数据通道
os.close();
socket.close(); //关闭流防止资源浪费
结束标记socket.shutdownOutput(); //表示输出完毕
7.netstat指令