package UDP;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Demo01_Client {
public static void main(String[] args) throws UnknownHostException, IOException {
/**
* 客户端:
*
* 创建socket连接服务端(指定ip地址,端口号),通过ip地址找对应的服务器
*
* 调用socket的getInputStream()和getOutputStream()方法获取和服务端相连的IO流
*
* 输入流可以读取服务端输出流写出的数据
*
* 输出流可以写出数据到服务端的输入流
*/
Socket socket = new Socket("127.0.0.1", 12345);
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
byte[] arr = new byte[1024];
int len = is.read(arr);// 读取服务器发过来的数据
System.out.println(new String(arr, 0, len));
os.write("我是客户端".getBytes());// 客户端向服务器写数据
socket.close();
}
}
package UDP;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Demo02_Server {
public static void main(String[] args) throws IOException{
/**
* 服务端:
*
* 创建SerersSocket(需要指定端口号)
*
* 调用ServerSocket的accept()方法接收一个客户端请求,得到一个Socket
*
* 調用Socket的getInputStream()和getOutputStream()方法获取和客户端相连的IO流
*
* 输入流可以读取客户端输出流写出的数据
*
* 输出流可以写出数据到客户端的输入流
*
*
*/
ServerSocket server = new ServerSocket(12345);
Socket socket = server.accept();
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
os.write("我是服务器".getBytes());//服务器向客户端写出数据
byte[] arr = new byte[1024];
int len = is.read(arr);// 读取客户端发过来的数据
System.out.println(new String(arr, 0, len));
}
}