java实验七八(河北工业大学) 联系客服

发布时间 : 星期一 文章java实验七八(河北工业大学)更新完毕开始阅读529a10c8a58da0116c1749c2

河北工业大学城市学院2010级网络编程技术试验指导书

在服务器端反馈一条信息

客户端可以收到

2、使用ServerSocket类和Socket类实现按如下协议通信的服务器端和客户端程序。服务器程序的处理规则如下: 1) 向客户端程序发送Verifying Server!。

2) 若读口令次数超过3次,则发送Illegal User!给客户端,程序退出。否则向下执行步骤3)。

3) 读取客户端程序提供的口令。

4) 若口令不正确,则发送PassWord Wrong!给客户端,并转步骤2),否则向下执行步骤5)。

5) 发送Registration Successful!给客户端程序。

共16页,第9页

河北工业大学城市学院2010级网络编程技术试验指导书

客户端程序的处理规则如下: 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!。 服务器端源程序

import java.io.*; import java.net.*;

public class ServerComputer {public ServerComputer(int port)

{ Server server=new Server(port); server.start(); }

public static void main(String[] args) { new ServerComputer(7777); } }//服务器线程

class Server extends Thread { //使用端口号 int port;

ServerSocket server; Socket socket; //服务器输出流

DataOutputStream outStream=null; //服务器输入流

DataInputStream inStream=null; public Server(int port) { try

{ this.port=port;

server=new ServerSocket(port); } catch(Exception e)

{ System.out.println(e.toString()); } }

public void run() { try

共16页,第10页

河北工业大学城市学院2010级网络编程技术试验指导书

{ //监听用户连接 socket=server.accept();

outStream=new DataOutputStream(socket.getOutputStream());

inStream=new DataInputStream(socket.getInputStream()); //服务器准备好,可以进行通讯

System.out.println(\向客户端发送一个反馈 String s1=new String(\ outStream.writeUTF(s1); String str1=new String(\ String str=new String(\ int count=0; while(true)

{ //读取从客户端发送的信息 str=inStream.readUTF(); System.out.println(str); if(str.equals(\

{str1=\ else

{str1=\ outStream.writeUTF(str1); count++; if(count==3)

{str1=\将信息重新向客户端发送 } }

catch(Exception e)

{ System.out.println(e.toString()); } } }

客户端源程序

package asdasdasd; import java.net.*; import java.io.*;

public class SocketClient { Socket s=null;

DataInputStream inStream=null; DataOutputStream outStream=null; public SocketClient() { waitData(); } void waitData()

{ try{s=new Socket(\

inStream=new DataInputStream(s.getInputStream());

outStream=new DataOutputStream(s.getOutputStream());} catch(IOException e) {}

while(true)

共16页,第11页

河北工业大学城市学院2010级网络编程技术试验指导书

{ try

{ String str=inStream.readUTF(); System.out.println(str); if(!str.equals(\

{System.out.println(\ else

{ for(int i=0;i<2;i++) {String str1=new String(\ String str2=new String(\

System.out.println(\

BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); str1=input.readLine(); System.out.println(str1); outStream.writeUTF(str1); str2=inStream.readUTF(); System.out.println(str2);

if(str2.equals(\

{System.out.println(\ else if(str2.equals(\

{System.out.println(\

input = new BufferedReader(new InputStreamReader(System.in)); str1=input.readLine();

outStream.writeUTF(str1); } else

{ System.out.println(\ }} }

catch(Exception e)

{ System.out.println(e.toString()); break; } } }

public static void main(String[] args) { new SocketClient(); } }

共16页,第12页