Socket编程的HelloWorld范例
Socket编程的HelloWorld实例
通过client,可以一直向Server发送信息,并得到返回信息。
输入quit,则和服务器之间断开连接。
public class Client { public static void main(String[] args) { Client c=new Client(); c.receiveMessage(); } public void receiveMessage(){ Socket s=null; BufferedReader sbr=null; try { s=new Socket("127.0.0.1",9999); OutputStream os=s.getOutputStream(); PrintWriter out=new PrintWriter(os,true); BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream())); // IOUtils.write("receive", os); // InputStream is=s.getInputStream(); sbr=new BufferedReader(new InputStreamReader(System.in)); String message; while((message=sbr.readLine())!=null){ out.println(message); String rs=br.readLine(); System.out.println("receive message is "+rs); if(rs.equalsIgnoreCase("disconnect")){ System.out.println("discon"); break; } } } catch (IOException e) { e.printStackTrace(); }finally{ if(s!=null) try { s.close(); } catch (IOException e) { e.printStackTrace(); } } } }
public class Server { public static void main(String[] args) { Server s=new Server(); s.startServer(9999); } public void startServer(int port){ ServerSocket ss = null; Socket socket = null; try { ss = new ServerSocket(9999); while (true) { try { System.out.println("waiting..."); socket = ss.accept(); InputStream is = socket.getInputStream(); // String s = IOUtils.toString(is); // System.out.println("s= " + s); BufferedReader br = new BufferedReader( new InputStreamReader(is)); PrintWriter out=new PrintWriter(socket.getOutputStream(),true); String str=null; while((str=br.readLine())!=null){ if(str.equalsIgnoreCase("quit")){ //关闭 out.println("disconnect"); break; } System.out.println("str="+str); out.println("Receive:"+str); } }catch(IOException e){ e.printStackTrace(); } finally { if (socket != null) { socket.close(); } } } } catch (IOException e) { e.printStackTrace(); } finally { if (ss != null) try { ss.close(); } catch (IOException e) { e.printStackTrace(); } } } }
通过client,可以一直向Server发送信息,并得到返回信息。
输入quit,则和服务器之间断开连接。