1、TCP Socket编程实现服务器和客户端的交互:
(1)服务器端先运行,利用循环时刻为客户端提供服务;
(2)客户端与服务器接通后,从键盘上输入若干字符(若客户端发送“end”字符串,服务器终止程序),传到服务器,服务器在控制台显示所收到的数据,形式为:”I have received ******”,并向客户端 反馈信息“Message from Server is:******”,此次通话结束;
(3)客户端接收来自服务器端的数据,在控制台显示:“Client has received .............“。

 

import java.io.*;
import java.net.*;
public class Main{
    public static void main(String[] args)throws Exception{
        ServerSocket ss=new ServerSocket(3234);
        Socket client=ss.accept();
        BufferedReader br=new BufferedReader(new InputStreamReader(client.getInputStream()));
        PrintWriter pw=new PrintWriter(client.getOutputStream(),true);
        String message;
        while((message=br.readLine())!=null){
            System.out.println("I have received "+message);
            if(message.equals("end")) break;
            pw.println("message from server is "+message);
        }
        client.close();
        ss.close();
    }
}

 

import java.io.*;
import java.net.*;
//客户端
public class Main{
    public static void main(String[] args)throws Exception{
     Socket socket=new Socket("localhost",4545);
     BufferedReader userInput=new BufferedReader(new InputStreamReader(System.in));
     BufferedReader serverInput=new BufferedReader(new InputStreamReader(socket.getInputStream()));
     PrintWriter toserver=new PrintWriter(socket.getOutputStream(),true);
     String message;
     while((message=userInput.readLine())!=null){
         if(message.equals("end")) break;
         toserver.println("message from client "+message);
     }
     String responce;
     while((responce=serverInput.readLine())!=null){
         if (responce.equals("end")) break;
         System.out.println("client have received "+responce);
     }
     socket.close();
     userInput.close();;
     serverInput.close();
    }
}

 

posted on 2024-12-18 16:12  fafrkvit  阅读(36)  评论(0)    收藏  举报