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

成都创新互联来电联系:18980820575,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联网页制作领域10多年,包括成都高空作业车租赁等多个领域拥有丰富的网站设计经验,选择成都创新互联,为企业锦上添花!
在实际的网络环境里,同一时间只对一个用户服务是不可行的。一个优秀的网络服务程序除了能处理用户的输入信息,还必须能够同时响应多个客户端的连接请求。在Java Socket共享中,实现以上功能特点是非常容易的。
Java Socket共享的设计原理:
主程序监听一端口,等待客户接入;同时构造一个线程类,准备接管会话。当一个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();
 - }
 - }
 
这个程序监听10000端口,并将接入交给CreateServerThread线程运行。CreateServerThread线程接受输入,并将输入回应客户,直到客户输入"bye",线程结束。我们可以在createMessage方法中,对输入进行处理,并产生结果,然后把结果返回给客户。 
  
【编辑推荐】
                当前文章:JavaSocket共享的设计原理深层透析
                
                网站网址:http://www.csdahua.cn/qtweb/news2/512302.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网