用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。

2014-12-16 06:30:01 阅读( 462 )

2314人 收藏本页

标签:Java面试题

Server.java:源代码
Java code import java.net.*;import java.io.*;class Server{ public Server() { BufferedReader br = null; PrintWriter pw = null; try { ServerSocket server = new ServerSocket(8888);//建立服务器端 Socket socket = server.accept();//监听客户端 //得到该连接的输入流 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); //得到该连接的输出流 pw = new PrintWriter(socket.getOutputStream(),true); //先读后写 String data = br.readLine(); System.out.println(data);//输出到控制台 pw.println(data);//转发给客户端 }catch(Exception e) { e.printStackTrace(); } finally { try { //关闭读写流 br.close(); pw.close(); }catch(Exception e) {} } } public static void main(String[] args) { Server server = new Server(); }}

Client.java:源代码
Java code import java.net.*;import java.io.*;class Client{ public Client() { BufferedReader br = null; PrintWriter pw = null; try { Socket socket = new Socket(“localhost”,8888);//与服务器建立连接,服务器要先启 //得到Socket的输入与输出流 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); pw = new PrintWriter(socket.getOutputStream(),true); //先写后读 pw.println(“Client:你好!”); String data = null; while(true) { data = br.readLine(); if(data!=null) break; } System.out.println(data); }catch(Exception e) { e.printStackTrace(); } finally { try { br.close(); pw.close(); }catch(Exception e) {} } } public static void main(String[] args) { Client c = new Client(); }}

来自IT公司面试手册

下一篇:java面试题及答案(基础题122道,代码题19道) (1)

上一篇:java面试宝典7

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题