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

设计案例展示网站/杭州seo网站哪家好

设计案例展示网站,杭州seo网站哪家好,企业展厅数字多媒体,电子商务和网站建设论文一、概述: 1、把发送者发送的信息全部封装在blockqueue队列里,然后使用connManager把队列里的信息取出,分发出去 2、原理图: 二、实现: /*** 描述 使用socket实现长连接* 项目名称 App_Chat* 包名 com.android.c…

一、概述:

1、把发送者发送的信息全部封装在blockqueue队列里,然后使用connManager把队列里的信息取出,分发出去
2、原理图:
这里写图片描述

二、实现:

/*** @描述 使用socket实现长连接* @项目名称 App_Chat* @包名 com.android.chat.utils* @类名 TcpUtil* @author chenlin* @date 2012年6月26日 下午4:06:43* @version 1.0*/
public class ConnManager {protected static final int STATE_FROM_SERVER_OK = 0;private static String dsName = "192.168.31.239";private static int dstPort = 10002;private static Socket socket;//队列,封装发送的信息private static ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<String>(8);private static ConnManager instance;private ConnManager() {}public static ConnManager getInstance() {if (instance == null) {synchronized (ConnManager.class) {if (instance == null) {instance = new ConnManager();}}}return instance;}/*** 连接* * @return*/public boolean connect(final Handler handler) {if (socket == null || socket.isClosed()) {new Thread(new Runnable() {@Overridepublic void run() {try {socket = new Socket(dsName, dstPort);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {throw new RuntimeException("连接错误: " + e.getMessage());}new Thread(new RequestWorker()).start();try {// 输入流,为了获取客户端发送的数据InputStream is = socket.getInputStream();byte[] buffer = new byte[1024];int len = -1;while ((len = is.read(buffer)) != -1) {final String result = new String(buffer, 0, len);Message msg = Message.obtain();msg.obj = result;msg.what = STATE_FROM_SERVER_OK;handler.sendMessage(msg);}} catch (IOException e) {throw new RuntimeException("getInputStream错误: " + e.getMessage());}}}).start();}return true;}/*** 连接* * @return*/public void connect() {if (socket == null || socket.isClosed()) {try {socket = new Socket(dsName, dstPort);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {throw new RuntimeException("连接错误: " + e.getMessage());}try {// 输入流,为了获取客户端发送的数据InputStream is = socket.getInputStream();byte[] buffer = new byte[1024];int len = -1;while ((len = is.read(buffer)) != -1) {final String result = new String(buffer, 0, len);if (mListener !=null) {mListener.pushData(result);}}} catch (IOException e) {throw new RuntimeException("getInputStream错误: " + e.getMessage());}}}/*** 添加请求* @param content*/public void putRequest(String content) {try {queue.put(content);} catch (InterruptedException e) {e.printStackTrace();}}/*** 发送信息* * @param auth*/public void sendAuth(String auth) {OutputStream os = null;try {if (socket != null) {os = socket.getOutputStream();os.write(auth.getBytes());os.flush();}} catch (IOException e) {throw new RuntimeException("发送失败:" + e.getMessage());}}/*** 关闭连接*/public void disConnect() {if (socket != null && !socket.isClosed()) {try {socket.close();} catch (IOException e) {throw new RuntimeException("关闭异常:" + e.getMessage());}socket = null;}}public class RequestWorker implements Runnable{@Overridepublic void run() {OutputStream os = null;try {if (socket != null) {os = socket.getOutputStream();//take是个阻塞式方法,所以必须是用while(true)while(true){String content = queue.take();os.write(content.getBytes());os.flush();}}} catch (IOException e) {throw new RuntimeException("发送失败:" + e.getMessage());} catch (InterruptedException e) {throw new RuntimeException("信息被中断:" + e.getMessage());}}}public  interface  ConnectionListener{void pushData(String str);}private ConnectionListener mListener;public void setConnectionListener(ConnectionListener listener){this.mListener = listener;}
}

———————————————————————
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
有需求者请进站查看,非诚勿扰

https://item.taobao.com/item.htm?spm=686.1000925.0.0.4a155084hc8wek&id=555888526201

01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
——————————————————————–

http://www.lbrq.cn/news/1364581.html

相关文章:

  • 做民宿的有哪些网站/站长工具域名解析
  • 征婚网站上教人做恒指期货/怎么找需要做推广的公司
  • 网页设计制作一个餐饮网站/网络推广怎么做方案
  • 连城县建设局网站/如何制作网站二维码
  • 网站备案号在哪儿查询/成都seo优化外包公司
  • 企业网站申请流程/友情链接赚钱
  • 腾讯云网站备案流程图/网站推广方案模板
  • 建设企业网站作用/seo包年优化
  • www.网站建设/贴吧友情链接在哪
  • 开发门户网站需要注意什么/网络营销推广方式都有哪些
  • 网络推广是干嘛的可以做吗/中国seo排行榜
  • 留白的网站/淘宝指数转换工具
  • 大连网站设计哪个最好/官方网站怎么查询
  • 乌克兰集团网站建设/网站关键词优化方案
  • 深圳市光明建设发展集团网站/百度sem
  • 做软装什么网站可以/站长工具如何使用
  • 全站搜索/it培训机构排行榜
  • 做网站云服务期/如何做网销
  • 自己怎么弄网站/5000人朋友圈推广多少钱
  • 网站备案成功后可以改吗/磁力猫搜索引擎入口官网
  • 自媒体自助下单网站怎么做/2023年新闻小学生摘抄
  • 东莞网站制作网站设计/百度开户代理商
  • 微信做自己的网站/掌门一对一辅导官网
  • wordpress 角色管理/电影站的seo
  • 手机外贸网站建设/网站免费制作
  • 免费建设一个可以访问的网站/百度网址大全旧版本
  • 国外做文化的网站/优化提升
  • 用安卓手机做网站主机/个人如何做网络推广
  • 网站定位/云优化seo软件
  • 网站建设成功案例宣传/网店网络推广方案
  • 【Spring】SpringBoot 自动配置,@ComponentScan、@Import、ImportSelector接口
  • 怎样推动AI技术在人机协同中的发展?
  • wpf Image 转 90 度
  • 多租户字典管理系统完整设计
  • 工作流绑定卡片优化用户体验-练习我要找工作智能体
  • 区块链 和 一致性哈希的结合