java

位置:IT落伍者 >> java >> 浏览文章

Java Socket共享的设计原理深层透析


发布日期:2018年08月17日
 
Java Socket共享的设计原理深层透析

Java Socket共享在使用的时候有很多的问题需要我们解决其实有不少的问题都是在源代码中可以找到答案的下面我们就来看看如何才能更好的使用有关的Java <> Socket共享服务

在实际的网络环境里同一时间只对一个用户服务是不可行的一个优秀的网络服务程序除了能处理用户的输入信息还必须能够同时响应多个客户端的连接请求在Java Socket共享中实现以上功能特点是非常容易的

Java Socket共享的设计原理

主程序监听一端口等待客户接入;同时构造一个线程类准备接管会话当一个Socket会话产生后将这个会话交给线程处理然后主程序继续监听运用Thread类或Runnable接口来实现是不错的办法

{实现消息共享}

import javaio*;

import *;

public class Server extends ServerSocket

{

private static final int SERVER_PORT = ;

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(clientgetInputStream() GB));

out = new PrintWriter(clientgetOutputStream() true);

outprintln( Welcome );

start();

}

public void run()

{

try

{

String line = inreadLine();

while (!lineequals(bye))

{

String msg = createMessage(line);

outprintln(msg);

line = inreadLine();

}

outprintln( See you bye! );

clientclose();

}

catch (IOException e)

{}

}

private String createMessage(String line)

{

xxxxxxxxx;

}

}

public static void main(String[] args) throws IOException

{

new Server();

}

}

这个程序监听端口并将接入交给CreateServerThread线程运行CreateServerThread线程接受输入并将输入回应客户直到客户输入bye线程结束我们可以在createMessage方法中对输入进行处理并产生结果然后把结果返回给客户

               

上一篇:Java读取xml文件的四种方法

下一篇:编写一个基于Java Robot类的屏幕捕获工具