前两天学到类集框架,有点儿绕里面去了,所以暂时放一边,先来学习下socket编程,尝尝鲜。。。。
这是最基础的一对一的socket,服务端只能与一个客户端“发生关系”。。。编译运行服务端后,程序阻塞等待客户端连接。客户端编译运行后与本机服务端进行连接,然后等待用户输入信息。信息发送到服务端,在服务端打印输出,同时服务端又返回给客户端一则信息。客户端输入end时两端程序退出。
这是服务端程序。
代码如下 | 复制代码 |
import java.io.*; import java.net.*; public class server { |
这是客户端程序。
代码如下 | 复制代码 |
import java.io.*; import java.net.*; public class client { public static void main(String [] arsg) throws Exception { //创建客户端实例 Socket client = new Socket( InetAddress.getLocalHost(), 2345); //声明接收(输入流) BufferedReader read = new BufferedReader( new InputStreamReader( client.getInputStream())); //声明发送(输出流) PrintWriter write = new PrintWriter( client.getOutputStream()); //声明键盘输入流 BufferedReader kbread = new BufferedReader( new InputStreamReader( System.in )); while( true ) { //从键盘获取一行输入 String str = kbread.readLine(); //发送 write.println(str); write.flush(); if(str.equals("end")) break; System.out.println(read.readLine()); //获取一次返回 } System.out.println("退出连接!"); read.close(); write.close(); } } |