简单的Java服务器和客户端的通信

系列文章:
ESP8266的AP模式与STA模式简单测试
简单的Java服务器和客户端的通信
STM32 ESP8266和Java服务器透传模式下的双向通信
jsp向servlet传输数据
Servlet向JSP传递数据以及JSP页面DIV定时局部刷新
JSP向Servlet传递数据以及与STM32、ESP8266通信过程
没啥,就简单记录下

服务器端:

package Socket;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class ServerSocketTest {
	public static final int PORT = 12444;//端口号,可以随便设定,尽量避开一些重要的端口号,比如8080等   
	public static void main(String[] args) {
		try {
			ServerSocket serverSocket=new ServerSocket(PORT);//新建一个serverSocket,并且与指定端口号进行绑定
			
			System.out.println("服务器已启动,等待客户端连接...\n"); 
			Socket Client = serverSocket.accept();//在这里一直等待客户端的接入请求,如果客户端没有接入请求,程序会一直停在这里等待
			System.out.println("Socket client" + Client.getRemoteSocketAddress() + "成功连接");
			
			DataOutputStream out = new DataOutputStream(Client.getOutputStream());//新建一个输出流,用于向对方发送数据
			DataInputStream input = new DataInputStream(Client.getInputStream());//新建一个输入流,用于接收对方发来
			 
			
			Scanner sc = new Scanner(System.in); //新建一个标准输入,用于读取键盘的输入
			String str = null;
			while(true)
			{
				System.out.print("请向客户端发送数据:\n"); 
				str = sc.nextLine();//读取键盘输入
				out.writeUTF(str); //向客户端发送数据
				
				System.out.println("正在接收客户端的数据..."); 
				str = input.readUTF();
				System.out.println("客户端发过来的数据为:" + str + "\n");
			}
		}catch (IOException e) {
			e.printStackTrace();
		}
	}
}



客户端:

package Socket;
import java.io.*;

import java.net.Socket;
import java.util.Scanner;

public class ClientSocket {

public static void main(String[] args) {
	
	try {
		Socket socket =new Socket("localhost",12444);

		DataOutputStream out = new DataOutputStream(socket.getOutputStream());//新建一个输出流,用于向对方发送数据
		DataInputStream input = new DataInputStream(socket.getInputStream());//新建一个输入流,用于接收对方发来的数据
 
		String str = null;
		Scanner sc = new Scanner(System.in); //新建一个标准输入,用于读取键盘的输入
		
		while(true)
		{
			System.out.println("正在接收服务器发来的数据...\n");
			str = input.readUTF();
			System.out.println("服务器发过来的数据为:" + str + "\n");
			
			System.out.print("请向服务器发送数据:\n"); 
			str = sc.nextLine();//读取键盘输入
			out.writeUTF(str); //向客户端发送数据
		}
			
		}catch (IOException e) {
			
			e.printStackTrace();
					}
			
		}
			
	}


运行结果:
简单的Java服务器和客户端的通信_第1张图片

你可能感兴趣的:(JAVA,网络)