实验目的
理解Socket通信原理,掌握使用Socket和ServerSocket类进行TCP Socket通信的程序设计方法。
实验内容
1、使用ServerSocket类和Socket类实现按如下协议通信的服务器端和客户端程序。
服务器程序的处理规则如下:
1) 向客户端程序发送Verifying Server!。
2) 若读口令次数超过3次,则发送Illegal User!给客户端,程序退出。否则向下执行步骤3)。
3) 读取客户端程序提供的口令。
4) 若口令不正确,则发送PassWord Wrong!给客户端,并转步骤2),否则向下执行步骤5)。
5) 发送Registration Successful!给客户端程序。
客户端程序的处理规则如下:
1) 读取服务器反馈信息。
2) 若反馈信息不是Verifying Server!,则提示Server Wrong!,程序退出。否则向下执行步骤3)
3) 提示输入PassWord并将输入的口令发送给服务器。
4) 读取服务器反馈信息。
5) 若反馈信息是Illegal User!,则提示Illegal User!,程序退出。否则向下执行步骤6)
6) 若反馈信息是PassWord Wrong!,则提示PassWord Wrong!,并转步骤3),否则向下执行步骤。
7) 输出Registration Successful!。
服务器端代码:
package test1;
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
int count=3;
ServerSocket socket = new ServerSocket(8888);
Socket ser=socket.accept();
System.out.println("启动服务器……");
System.out.println("客户端:"+ser.getLocalAddress().getHostAddress()+"已连接到服务器");
DataOutputStream dops=new DataOutputStream(ser.getOutputStream