Java Socket會話如何實施共享
作者:佚名
Java Socket會話一直在不斷的使用,當然我們在端口使用的時候還是有不少的問題。下面我們就看看有關問題如何才能解決。
Java Socket會話一直在不斷的使用,相關的問題需要不斷的代碼中找到答案。在下面的介紹中尼會詳細的看看有關的代碼。希望大家有所收獲。在實際的網絡環境里,同一時間只對一個用戶服務是不可行的。
一個優秀的網絡服務程序除了能處理用戶的輸入信息,還必須能夠同時響應多個客戶端的連接請求。在Java Socket會話中,實現以上功能特點是非常容易的。
設計原理:
主程序監聽一端口,等待客戶接入;同時構造一個線程類,準備接管會話。當一個Java Socket會話產生后,將這個會話交給線程處理,然后主程序繼續監聽。運用Thread類或Runnable接口來實現是不錯的辦法。
{實現消息共享}
- import java.io.*;
- import java.net.*;
- 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();
- }
- }
- //--- CreateServerThread
- 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)
- {
- xxxxxxxxx;
- }
- }
- public static void main(String[] args) throws
IOException- {
- new Server();
- }
- }
以上就是對Java Socket會話的代碼詳細介紹,希望大家有所幫助。
【編輯推薦】
責任編輯:張浩
來源:
IT168