实验目的:
理解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!。 、
(1)源代码
package experiment;
import java.io.*;
import java.net.*;
import java.util.*;
public class ServerSocket1 {
public static void main(String[] args)
{
try {
ServerSocket socket=new ServerSocket(3456);
Socket ser=socket.accept();
String str,sc;
int count=0;
PrintWriter out=new PrintWriter(ser.getOutputStream(),true);
BufferedReader in=new BufferedReader(new InputStreamReader(ser.getInputStream()));
out.println("Verifying Server!");
while(true)
{
str=in.readLine();
System.out.println("客户端:"+str);
if(str.equals("1234"))
{
out.println("Registration Successful!");
System.out.println("服务端:Registration Successful!");
System.exit(