本章概述:本章主要讲了网络的基本概念,网络分层,数据的封装与拆分网络爬虫原理和比较重要的TCP编程和UDP编程
本章概述:
一、InetAddressDemo
二、client
1、Client
2、Client2
3、LonginClient
4、PicClient
5、UDPClient
6、User
三、server
1、Server
2、Server2
3、LonginServer
4、LonginServer2
5、LonginThread
6、PicServer
7、UDPServer
---------------------------------------------------------------------------------------------------------------------
一、InetAddressDemo.java
public class InetAddressDemo {
public static void main(String[] args) throws UnknownHostException {
InetAddress inetAddress = InetAddress.getLocalHost();
System.out.println(inetAddress);
InetAddress address = InetAddress.getByName("www.baidu.com");
System.out.println(address);
System.out.println(address.getHostName());
System.out.println(address.getHostAddress());
}
}
二、client
1.Client.java
/**模拟客户端像服务器发送一条消息
*客户端程序
* */
public class Client {
public static void main(String[] args) throws IOException {
//创建Socket套接字对象
Socket client = new Socket("localHost",10011);
//从Socket中获取输出流
OutputStream outputStream = client.getOutputStream();
//使用DataOutputStream包装流
DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
//发送一条消息给服务器
dataOutputStream.writeUTF("你好,服务器,我是客户端");
//关闭资源
dataOutputStream.close();
outputStream.close();
client.close();
}
}
2.Client2.java
public class Client2 {
public static void main(String[] args) throws IOException {
//创建Socket对象
Socket client = new Socket("127.0.0.1",10009);
//从socket中获取输出流
/**************************向服务器发送一条消息*******************************/
OutputStream outputStream = client.getOutputStream();
outputStream.write("nihao,服务器,我是客户端!".getBytes());
/**************************接收服务器响应的消息*******************************/
InputStream inputStream = client.getInputStream();
//读取服务器响应回来的数据
byte[] buffer = new byte[1024];
int length = inputStream.read(buffer);
System.out.println("服务器说:" + new String(buffer,0,length));
//关闭资源
inputStream.close();
outputStream.close();
client.close();
}
}
3.LonginClient.java
public class LonginClient {
public static void main(String[] args) throws IOException {
// //创建socket对象
// Socket socket = new Socket("127.0.0.1",10068);
// //从socket中获取输出流
// OutputStream outputStream = socket.getOutputStream();
// //接收键盘输入中的user
// User user = getUser();
// //使用ObjectOutputStream包装流
// ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
// objectOutputStream.writeObject(user);
// socket.shutdownOutput();
// //接收服务器端响应的验证消息
// InputStream inputStream = socket.getInputStream();
//