Java网络编程–TCP基本交互步骤
关键类:(java.net包)
ServerSocket:此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。
Socket:此类实现客户端套接字
服务器端基本流程:
1).创建ServerSocket对象,指定服务器的监听端口
2).调用accept方法,阻塞式监听,返回Socket流套接字对象
3).接收客户端的请求并处理:调用Socket的方法 ❤
4).关闭资源
客户端基本流程:
1).创建Socket套接字对象,指定要连接到的服务器端的IP地址+端口号
2).调用输入输出流进行数据的传输:Socket的方法 ❤
3).关闭资源
简单示例
功能:客户端发送用户名和密码,服务器端对其进行简单验证,并返回相应的提示信息
代码:
LoginServer.java
//登录验证:客户端发来用户名和密码,服务端对其进行检验,并返回提示信息
//服务器端
package tcp;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class LoginServer {
public static void main(String[] args) {
ServerSocket server = null;
Socket socket = null;
DataInputStream dis = null;
DataOutputStream dos = null;
try {
// 1.创建ServerSocket对象,绑定到8888端口
server = new ServerSocket(8888);
// 2.调用accept方法阻塞式监听,未收到请求时,程序阻塞在这里
socket = server.accept();
// 接收数据
dis = new DataInputStream(socket.getInputStream());
String data = dis.readUTF(); // 以UTF-8编码的形式读取数据
System.out.println("请求参数:" + data);
// 对数据进行处理(接收到的数据为username="xxx"&password="xxx")
String[] str = data.split(</