基本信息
源码名称:Socket服务端和 android客户端 源码
源码大小:1.16M
文件格式:.rar
开发语言:Java
更新时间:2016-08-04
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 3 元×
微信扫码支付:3 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class SckServer { private static final int PORT = 9999;// 端口 private List<Socket> mList = new ArrayList<Socket>(); private ServerSocket server = null; private ExecutorService mExecutorService = null; // thread pool public static void main(String[] args) { new SckServer(); } public SckServer() { try { // 创建服务器端socket并绑定到一个端口上 server = new ServerSocket(PORT); // 使用连接池 mExecutorService = Executors.newCachedThreadPool(); System.out.print("server start ..."); Socket client = null; // 接字设置监听模式等待连接请求 while (true) { client = server.accept(); mList.add(client); // 接受连接请求后进行通信 mExecutorService.execute(new Service(client)); } } catch (Exception e) { e.printStackTrace(); } } class Service implements Runnable { private Socket socket; private BufferedReader in = null; private String msg = ""; public Service(Socket socket) { this.socket = socket; try { in = new BufferedReader(new InputStreamReader( socket.getInputStream())); msg = "user" this.socket.getInetAddress() "come toal:" mList.size(); this.sendmsg(); } catch (IOException e) { e.printStackTrace(); } } @Override public void run() { // TODO Auto-generated method stub try { while (true) { if ((msg = in.readLine()) != null) { if (msg.equals("exit")) { System.out.println("ssssssss"); mList.remove(socket); in.close(); msg = "user:" socket.getInetAddress() "exit total:" mList.size(); socket.close(); this.sendmsg(); break; } else { msg = socket.getInetAddress() ":" msg; this.sendmsg(); } } } } catch (Exception e) { e.printStackTrace(); } } public void sendmsg() { System.out.println(msg); int num = mList.size(); for (int index = 0; index < num; index ) { Socket mSocket = mList.get(index); PrintWriter pout = null; try { pout = new PrintWriter(new BufferedWriter( new OutputStreamWriter(mSocket.getOutputStream())), true); pout.println(msg); } catch (IOException e) { e.printStackTrace(); } } } } }