首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

建立容易的服务器端程序

2013-10-10 
建立简单的服务器端程序参考自core javapackage com.lujinhong.corejavaimport java.io.IOExceptionimpo

建立简单的服务器端程序

  参考自core java


package com.lujinhong.corejava;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;public class MultiEchoServer {public static void main(String[] args) {try {ServerSocket serverSocket = new ServerSocket(8189);while (true) {Socket socket = serverSocket.accept();Runnable r = new ThreadedEchoHandler(socket);Thread thread = new Thread(r);thread.start();}} catch (IOException e) {e.printStackTrace();}}}class ThreadedEchoHandler implements Runnable {private Socket s = null;public ThreadedEchoHandler(Socket socket) {s = socket;}@Overridepublic void run() {try {InputStream is = s.getInputStream();OutputStream os = s.getOutputStream();PrintWriter pw = new PrintWriter(os);Scanner sc = new Scanner(is);Boolean flag = false;String line = null;String exitString = "bye";while (!flag && sc.hasNextLine()) {pw.println("Hello, type " + exitString + " to exit!");line = sc.nextLine();if (line.trim().equals(exitString)) {flag = true;} else {pw.println("Hello, " + line);}}sc.close();pw.close();} catch (IOException e) {e.printStackTrace();}}}

In this program, we spawn a separate thread for each connection. This approach is not satisfactory for highperformance servers. You can achieve greater server throughput by using features of the java.nio package. See www.ibm.com/developerworks/java/library/j-javaio for more information.

热点排行