当前位置: 首页 > news >正文

深圳营销型网站公司电话/媒体网站

深圳营销型网站公司电话,媒体网站,wordpress的文件权限设置,java短租网站开发接《java Socket实现简单在线聊天(一)》,在单客户端连接的基础上,这里第二步需要实现多客户端的连接,也就需要使用到线程。每当有一个新的客户端连接上来,服务端便需要新启动一个线程进行处理,从…

接《java Socket实现简单在线聊天(一)》,在单客户端连接的基础上,这里第二步需要实现多客户端的连接,也就需要使用到线程。每当有一个新的客户端连接上来,服务端便需要新启动一个线程进行处理,从而解决之前的循环读取中造成阻塞的问题。

 

 

写线程通常有两种方法,集成Thread或者实现runnable接口,原则上是能实现runnable的情况下就不继承,因为实现接口的方式更加灵活。

 

 

 

客户端代码相较之前没有变化,变得是服务端,因此这里便只贴出服务端代码:
package chat.chat;import java.io.DataInputStream;
import java.io.EOFException;
import java.io.IOException;
import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;/*** java使用socket和awt组件以及多线程简单实现在线聊天功能服务端 : 实现多个客户端连接后不断向服务端发送消息,* 相对于第一个版本,重点在于使用了多线程。服务端还未实现转发功能,客户端图形窗口中只能看到自己输入的信息, 不能看到其他客户端发送的消息* * @author tuzongxun123**/
public class ChatServer {public static void main(String[] args) {new ChatServer().start();}// 是否成功启动服务端private boolean isStart = false;// 服务端socketprivate ServerSocket ss = null;// 客户端socketprivate Socket socket = null;public void start() {try {// 启动服务器ss = new ServerSocket(8888);} catch (BindException e) {System.out.println("端口已在使用中");// 关闭程序System.exit(0);} catch (Exception e) {e.printStackTrace();}try {isStart = true;while (isStart) {// 启动监听socket = ss.accept();System.out.println("one client connect");// 启动客户端线程Client client = new Client(socket);new Thread(client).start();}} catch (Exception e) {e.printStackTrace();} finally {// 关闭服务try {ss.close();} catch (IOException e) {e.printStackTrace();}}}/*** 客户端线程* * @author tuzongxun123**/class Client implements Runnable {// 客户端socketprivate Socket socket = null;// 客户端输入流private DataInputStream dataInputStream = null;private boolean isConnect = false;public Client(Socket socket) {this.socket = socket;try {isConnect = true;// 获取客户端输入流dataInputStream = new DataInputStream(socket.getInputStream());} catch (IOException e) {e.printStackTrace();}}@Overridepublic void run() {isConnect = true;try {while (isConnect) {// 读取客户端传递的数据String message = dataInputStream.readUTF();System.out.println("客户端说:" + message);}} catch (EOFException e) {System.out.println("client closed!");} catch (SocketException e) {System.out.println("Client is Closed!!!!");} catch (Exception e) {e.printStackTrace();} finally {// 关闭相关资源try {dataInputStream.close();socket.close();} catch (IOException e) {e.printStackTrace();}}}}}

 
http://www.jmfq.cn/news/5000527.html

相关文章:

  • 网站建设的数据所有权/广告招商
  • 泗洪做网站/东莞seo优化方案
  • 电子商务网站模板/百度seo关键词优化方案
  • wordpress页面diy/谷歌seo优化推广
  • 广告营销策略有哪些/网站内容优化怎么去优化呢
  • 金华网站建设平台/外贸营销网站制作
  • 网站公安备案一般什么可以做/seo外包是什么
  • wordpress 扩展字段/关键词优化搜索排名
  • 外贸网站建设制作/市场营销网络
  • 英文网站建设企业/天津seo数据监控
  • 中国移动官方网站登录入口/企业网站优化
  • 河源市连平县建设局网站/seo的优点和缺点
  • 易居做网站/软文推广页面
  • 百度提交链接/学seo哪个培训好
  • 法院被执行人查询系统/seo产品是什么意思
  • 自己做公司网站难吗/营销网站建设都是专业技术人员
  • 做网站基本流程/seo发贴软件
  • c2c就是利用专业网站提供的电子商务平台完成交易/360搜索首页网址是多少
  • 塘厦网站仿做/手机优化大师为什么扣钱
  • 长春做网站外包/建立网站费用大概需要多少钱
  • 网站建设教学视频/网络推广整合平台
  • 做网站税费/seo外包公司报价
  • 手表网站大全/成人职业技术培训学校
  • 苏州网站建设公司电话/跨境电商平台注册开店流程
  • 东莞建设网站费用/电商详情页模板免费下载
  • 西宁的网站设计/seo优化首页
  • 上海网站开发建设电话/100个常用的关键词
  • 谷德室内设计网/google seo优化
  • 网站在线考试答题系统怎么做/免费b站在线观看人数在哪儿
  • 民治做网站联系电话/合肥seo整站优化网站