Socket的例子

来源:互联网 发布:淘宝二手市场怎么买卖 编辑:程序博客网 时间:2024/06/04 23:08

Client端:

package com.dhgate.prodtranslate.client;import java.io.*; import java.net.*; public class Client { private Socket socket; private BufferedReader in; private PrintWriter out; public Client() {try{ socket = new Socket("127.0.0.1", 10000); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(),true); BufferedReader line = new BufferedReader(new InputStreamReader(System.in)); out.println(line.readLine()); line.close(); out.close(); in.close(); socket.close(); } catch (IOException e) {e.printStackTrace();} } public static void main(String[] args) { new Client(); } } 

Server端:

package com.dhgate.prodtranslate.client;import java.io.*; import java.net.*; //这个客户端连接到地址为xxx.xxx.xxx.xxx的服务器,端口为10000,并从键盘输入一行信息,发送到服务器,然后接受服务器的返回信息,最后结束会话。 /**第二步 多个客户同时连接    在实际的网络环境里,同一时间只对一个用户服务是不可行的。一个优秀的网络服务程序除了能处理用户的输入信息,还必须能够同时响应多个客户端的连接请求。在java中,实现以上功能特点是非常容易的。    设计原理:    主程序监听一端口,等待客户接入;同时构造一个线程类,准备接管会话。当一个Socket会话产生后,将这个会话交给线程处理,然后主程序继续监听。运用Thread类或Runnable接口来实现是不错的办法。    {实现消息共享} */public class Server extends ServerSocket { private static final int SERVER_PORT = 10000; public Server() throws IOException { super(SERVER_PORT); try { while (true) { Socket socket = accept(); new CreateServerThread(socket); } } catch (IOException e){} finally { close(); } } class CreateServerThread extends Thread { private Socket client; private BufferedReader in; private PrintWriter out; public CreateServerThread(Socket s) throws IOException { client = s; in = new BufferedReader(new InputStreamReader(client.getInputStream(), "GB2312")); out = new PrintWriter(client.getOutputStream(), true); out.println("--- Welcome ---"); start(); } public void run(){ try{ String line = in.readLine(); while (!line.equals("bye")) { String msg = createMessage(line); out.println(msg); line = in.readLine(); } out.println("--- See you, bye! ---"); client.close(); } catch (IOException e) {} } private String createMessage(String line) { return line; } } public static void main(String[] args) throws IOException { new Server(); } } 


0 0
原创粉丝点击