大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> JSP专区 -> 三步学会Java Socket编程(二)

三步学会Java Socket编程(二)

时间: 2021-07-31 作者:daque

第二步 多个存户同声贯穿  在本质的搜集情况里,同一功夫只对一个用户效劳是不行行的。一个特出的搜集效劳步调除去能处置用户的输出消息,还必需不妨同声相应多个存户端的贯穿乞求。在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();}}//--- createserverthreadclass 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本领中,对输出举行处置,并爆发截止,而后把截止归来给存户。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.