基于java的socket功能编写的一个局域网聊天工具

(12页)

'基于java的socket功能编写的一个局域网聊天工具'
基于java的socket功能编写的一个局域网聊天工具最近比较懒,好久没有更新博客了。这个代码早就写了,但是一直没有 发出来,今天又更新了一下功能,发出来。算是我最近重新复习线程的一个总结 吧。以前就看过java的多线程处理,但是一直有点迷迷糊糊的,不是很清楚, 这次通过写这个程序,算是有了点头绪了。而且以前没有用过socket这个对彖, 也是初次接触,不错的东东,蛮有意思的。争取以后继续深化一下这方面。程序分2部分,服务器端和客户端。服务器端负责信息的处理,如发送 欢迎信息,帮助信息之类的,统一分发消息等。客户端呢,则是简单的接受来自 服务端的消息,以及控制台的信息输入。服务器端:import java. io. BufferedReader;import java. io. IOException;import java. io. InputStrecimRecider; import java. io. PrintWritcr;import java. net. ServerSocket; import java. net. Socket;import java. util. ArrayList;import java, ut订? Date;import java. util> Vcctor;/*** Lan Communication Server** @author webkkk* @version 1.0*/public class TestSocket {6665;private final int defalutPortTestSocketServerCenter serverCenter;public TestSocket() {try {ServerSocket server = new ServerSocket (de falutPort);serverCenter = new TestSocketServerCenter(server, this);scrverCcnter. start();tSocketlnfoCenter(this);infoCe nt er. st art ();} catch (TOException e) {printMsg(c. gctMcssogcO);/*** @param args*/public static void main(String[] args) { new TestSocket();}public void printMsg(String strinfo) {System, err. printin (String. valueOf (new Date ()) >〃 + strinfo);extends Threadclass TestSocketServerCenterServerSocket server;TestSocket main;Vector clientManager 二 new Vector();Vector infoMeineigcr 二 new Vector ();int intClientCount = 0;int int/\c ti vedSeq = 0;TestSocpublic TestSocketServerCenter(ServerSocket server, ket main) {this.server 二 server;this. meiin = main;public void run () {while (true) { try {Socket socket = server.accept ();TestSocketServer server 二 new Tes tSocketServer(socket, this, intClientCount);server, st art ();clicntManagcr. add(server); infoManager. add("User-〃 + intClientCount);welcome (socket);intClientCount++; } catch (IOException c) {main.printMsg (“[TestSocketServerCente r] 〃 + e. getMessage ());} }private void welcome(Socket socket) {intActivedSeq 二 intClientCount;al IMessage(z/joined in〃);Str in gBuffer sb = new StringBuffer (z, \r\nz,);sb.append ("Welcome " + infoManager. get(intActivedSeq) + 〃\r\n〃);sb. append (/zps: You can use help comma nd to learn about command. \r\;sb. append (/z “);singleMessage (socket, sb. toStringO);}private void bye (int intScq) { intActivedSeq = intSeq; allMessage(/zquited/z);}private void alIMessage (String strMsg)String strSubMsg;// broadcast to the al 1 usersfor (int i 二 0; i < clientHanagcr. size(); i++){Socket socket = ((TestSocketServer) clientManager. get(i)). socket;strSubMsg = infoManager. get (intActivedSeq)+ has + strMsg + .;singleMessage (socket, strSubMsg);}}private void singleMessage(Socket socket, String strMsg) {PrintWriter pw;// the message for the new login user try {pw = new PrintWriter(socket? getOutputStrea m());pw. println(strMsg);pw. flush();} catch (IOException e) {e. printStackTrace ();}}public void modi
关 键 词:
基于 java socket 功能 编写 一个 局域网 聊天工具
 剑锋文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于java的socket功能编写的一个局域网聊天工具
链接地址: //www.wenku365.com/p-43768070.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给剑锋文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 //www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开