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

贾汪网站开发什么是白帽seo

贾汪网站开发,什么是白帽seo,多用户商城系统哪家好些,asp网站木马查杀9.1.4、QQ登陆聊天功能(私聊群发) 9.1.4.1、私聊功能 1、需求说明 2、思路分析 3、代码实现 QQClient: 1)cn.com.agree.qqclient.QQView.QQView case "3":log.debug("请输入想给谁发消息(在线用户):");St…

9.1.4、QQ登陆聊天功能(私聊群发)

9.1.4.1、私聊功能

1、需求说明
在这里插入图片描述
2、思路分析
在这里插入图片描述
3、代码实现
QQClient:
1)cn.com.agree.qqclient.QQView.QQView

  case "3":log.debug("请输入想给谁发消息(在线用户):");String getterId = Utility.readString(50).trim();log.debug("请输入想说的话:");content = Utility.readString(200).trim();//TODO 私聊bug invalid type code: AC已解决    messageClientService.sendMsgToOne(getterId,userId,content);                                        

2)cn.com.agree.qqclient.message.MessageClientService

 /*** 私聊* @param getterId 接收方id* @param senderId 发送方id* @param content  消息内容*/public void sendMsgToOne(String getterId,String senderId,String content){//创建Message对象Message message = new Message();message.setMsgType(MessageType.MESSAGE_COMM_MS);//对话,普通消息message.setGetter(getterId);message.setSender(senderId);message.setContent(content);message.setSendTime(new Date().toString());log.debug(senderId+" 对 "+getterId+" 说: "+content);//获取socket流发送message消息try {ObjectOutputStream oos = new MyObjectOutputStream(ManageClientConnectServers.getClientConnectServer(senderId).getSocket().getOutputStream());oos.writeObject(message);} catch (IOException e) {e.printStackTrace();}}

3)cn.com.agree.qqclient.service.ClientConnectServer

  case MessageType.MESSAGE_COMM_MS:log.debug(message.getSender()+" 对 "+message.getGetter()+" 说: "+message.getContent());break;

QQServer:
1)cn.com.agree.qqserver.service.ServerConnectClient

 case MessageType.MESSAGE_COMM_MS:log.debug("message:{}", message);log.debug(message.getSender() + " 对 " + message.getGetter() + " 说: " + message.getContent());//转发消息ObjectOutputStream oos2 = new MyObjectOutputStream(ManageServerConnectClient.getServerConnectClient(message.getGetter()).getSocket().getOutputStream());oos2.writeObject(message);//如果用户不在线,可以保存到数据库做离线转发break;

4、运行效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.1.4.2、群发功能

1、需求说明
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8c3f9b545d4c4dffb16e9b5e3d9642ae.p

2、思路分析
在这里插入图片描述
3、代码实现
Common:
cn.com.agree.qqcommon.MessageType

String MESSAGE_ONLINEAll_MS="7";//群发消息

QQClient:
1)cn.com.agree.qqclient.QQView.QQView

 case "2"://TODO 群发bug invalid type code: AC待解决log.debug("请输入要说的内容:");String content = Utility.readString(100);messageClientService.sendMsgToAll(userId,content);// System.out.println("群发消息");break;

2)cn.com.agree.qqclient.message.MessageClientService

 /*** 群发* @param* @param senderId 发送方id* @param content  消息内容*/public void sendMsgToAll(String senderId,String content){//创建Message对象Message message = new Message();message.setMsgType(MessageType.MESSAGE_ONLINEAll_MS);//对话,普通消息message.setSender(senderId);message.setContent(content);message.setSendTime(new Date().toString());log.debug(senderId+" 对 "+"大家说: "+content);//获取socket流发送message消息try {ObjectOutputStream oos = new MyObjectOutputStream(ManageClientConnectServers.getClientConnectServer(senderId).getSocket().getOutputStream());oos.writeObject(message);} catch (IOException e) {e.printStackTrace();}}

3)cn.com.agree.qqclient.service.ClientConnectServer

 case MessageType.MESSAGE_ONLINEAll_MS:log.debug(message.getSender() + " 对 " +"大家说: " + message.getContent());break;

QQServer:
cn.com.agree.qqserver.service.ServerConnectClient

case MessageType.MESSAGE_ONLINEAll_MS:log.debug("message:{}", message);log.debug(message.getSender() + " 对 " + "大家说: " + message.getContent());//遍历服务端线程集合获取非发送方的线程socket进行消息转发Map<String, ServerConnectClient> hm = ManageServerConnectClient.getHm();Iterator<String> userIds = hm.keySet().iterator();while (userIds.hasNext()) {String userId = userIds.next().toString();if (!userId.equals(message.getSender())) {//获取非发送方的用户idServerConnectClient serverConnectClient = hm.get(userId);//获取socket进行消息转发ObjectOutputStream oos3 = new MyObjectOutputStream(serverConnectClient.getSocket().getOutputStream());oos3.writeObject(message);}}break;

4、运行结果
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
注意:上述 invalid type code: AC异常
分析:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决
在这里插入图片描述
第三种解决方案代码
cn.com.agree.stream.MyObjectInputStream

package cn.com.agree.stream;import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;/*** @author * @version 1.0* @ClassName MyObjectInputStream* @Description TODO 类描述* @date 2024/1/11  2:11 下午**/
public class MyObjectInputStream extends ObjectInputStream {public MyObjectInputStream(InputStream in) throws IOException {super(in);}@Overrideprotected void readStreamHeader() throws IOException {//重写读取头部信息方法:什么也不做}}

cn.com.agree.stream.MyObjectOutputStream

package cn.com.agree.stream;import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;/*** @author * @version 1.0* @ClassName AppendObjectOutputStream* @Description TODO 类描述* @date 2024/1/11  9:46 上午**/
public class MyObjectOutputStream extends ObjectOutputStream {public MyObjectOutputStream(OutputStream out) throws IOException {super(out);}@Overrideprotected void writeStreamHeader() throws IOException {//重写读取头部信息方法:不写入头部信息super.reset();}
}
http://www.dt0577.cn/news/43053.html

相关文章:

  • 网站icp备案信息不能为空搜索排名优化策划
  • 新网站排名优化怎么做营销策划咨询机构
  • 个人网站设计规划书淘宝推广方法有哪些
  • 网站建设教程论坛seo排名赚app靠谱吗
  • 搜外网 seo教程seo诊断网站
  • 四川做网站的便宜的seo官网优化
  • 白城网站建设站长之家收录查询
  • 西部数码做的网站打不开网推
  • 做国外网站选择vps北京优化seo
  • rar在线解压网站长沙本地推广
  • 做网站公司宁波大冶seo网站优化排名推荐
  • 上海网站排名优化费用做网络推广怎么收费
  • 广州开发公司深圳优化公司哪家好
  • 品牌建设金点子seo自学网站
  • 宽屏网站jsb站视频推广怎么买
  • wordpress防注册新手做seo怎么做
  • 宝鸡网站公司排名做网站用什么软件好
  • 自己怎么建网站做推广的技巧
  • wordpress整站程序本地推荐本地推荐
  • 北京建设网站官网百度推广怎么做步骤
  • 改网站js代码哪个搜索引擎最好用
  • 网站建设与维护工资域名注册查询工具
  • 做外单要上什么网站全网热搜榜第一名
  • 网站制作二级网页怎么做杭州百度
  • 那个网站做旅游规划好惠州seo优化
  • wordpress用什么url最好seo 360
  • 深圳网站建设推广论坛seo人工智能
  • 网站运营需要++做哪些工作厦门网站制作
  • 创建公司网站免费网络市场调研
  • iis默认网站启动不了厦门百度关键词优化