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

不是搜索网站的是找百度公司做网站怎么样

不是搜索网站的是,找百度公司做网站怎么样,中国建设银行网站开通短信服务,网站开发所需开发环境一.JAVA聊天室项目 文件发送 使用 Java Socket 实现聊天内容或文件的传输的原理如下: 服务器端启动:聊天室的服务器端在指定的端口上监听客户端的连接。它创建一个 ServerSocket 对象,并通过调用 accept() 方法等待客户端的连接请求。客户…

一.JAVA聊天室项目

文件发送

使用 Java Socket 实现聊天内容或文件的传输的原理如下:

  • 服务器端启动:聊天室的服务器端在指定的端口上监听客户端的连接。它创建一个 ServerSocket 对象,并通过调用 accept() 方法等待客户端的连接请求。
  • 客户端连接:聊天室的客户端通过创建一个 Socket 对象并指定服务器的地址和端口,与服务器建立连接。客户端和服务器之间的连接建立后,可以进行数据传输。
  • 服务器端接收消息:当客户端连接到服务器后,服务器会为每个客户端创建一个独立的线程,用于处理与该客户端的通信。在服务器端的线程中,通过调用输入流的 readLine() 方法读取客户端发送的消息。服务器可以根据接收到的消息类型(例如普通消息或文件传输请求),采取相应的处理逻辑。
  • 服务器端广播消息:服务器在接收到客户端发送的消息后,可以将该消息广播给其他连接到服务器的客户端。通过遍历保存所有客户端的列表,并调用相应客户端的输出流发送消息给客户端。
  • 客户端发送消息:客户端可以通过输出流向服务器发送消息。客户端将消息写入输出流,然后通过网络发送给服务器。
  • 客户端接收消息:客户端在一个独立的线程中通过输入流不断监听服务器端的消息。通过调用输入流的 readLine() 方法读取服务器端发送的消息,并进行相应的处理,如将消息显示在用户界面上。
  • 文件传输:客户端可以通过输入流读取文件内容,并通过输出流将文件数据发送给服务器。服务器在接收到文件数据后,可以将文件广播给其他客户端。

以上就是使用 Java Socket 实现简易多人聊天室传输聊天内容或文件的基本原理。通过建立客户端和服务器之间的连接,以及使用输入流和输出流进行数据的读写,可以实现实时的聊天和文件传输功能。

实现代码:

1.首先用文件选择器选择文件,将文件分片传送到服务端

private static void sendFile(File file, String filename, File selectedFile) throws IOException {int length = 1024 * 1024 * 5;byte[] bytes = new byte[length];int number = (int) Math.ceil((double) selectedFile.length() / length);FileInputStream fileInputStream = new FileInputStream(selectedFile.getPath());message tomessage = new message(messagetype, user, markTool.filemessage, filename, null, chatgroup, otheruser);connection.oos.writeObject(tomessage);for (int i = 0; i < number; i++) {byte[] buffer = new byte[length];int bytesRead = fileInputStream.read(buffer);message filemessage = new message(buffer, true);connection.oos.writeObject(filemessage);}byte[] buffer = new byte[length];int bytesRead = fileInputStream.read(buffer);message filemessage = new message(buffer, false);connection.oos.writeObject(filemessage);System.out.println("文件发送完成,共发送了 " + number + " 个文件块。");}

2.服务端接收到文件,并将文件下载到服务端,将下载的地址保存到数据库中

else if (mge1.messagetip.equals(markTool.filemessage)) {Thread threadB = new Thread(new Runnable() {@Overridepublic void run() {try {String path = "E:\\server\\src\\file" + "\\" + mge1.Textmessage;File file = new File(path);FileOutputStream fos = new FileOutputStream(file);while (true) {message getmessage = (message) ois.readObject();if (!getmessage.flag) {fos.write(getmessage.Filebytes);fos.flush();break;}fos.write(getmessage.Filebytes);fos.flush();}fos.close();// 更新聊天记录message getmessage = new message();new add(mge1, getmessage).addchattingrecords("filemessage", path, formattedDateTime);} catch (IOException | ClassNotFoundException e) {e.printStackTrace();}}});threadB.start();try {threadB.join();} catch (InterruptedException e) {throw new RuntimeException(e);}}

3.下载文件同理,从服务器中数据库找到下载的路径,找到文件,再传递给客户端,客户端在通过用户选择文件路径下载.

二.聊天室项目构思

发起群聊:

从好友表选取人发送到服务器,服务器随机生成不重复的群号,存储在数据库,同时建立中间表,处理用户与群聊的关系

申请入群:

输入群号,发消息给服务器,服务器查询是否存在该群,若存在,查找群主和管理员,若群主,管理员等人在线,实时发送接收,若不在线下次登录成功提醒

发送消息:

若发送的人在线且在你的这个界面,实时接收更新,若在线不在你的这个界面,发出提醒,若不在线,下次登录提醒

退出群聊:发送消息,服务器删除相应数据

删除好友:

给服务器发送信息,服务器删除相应的数据,若被删的好友在线,实时更新

设置群消息

根据用户是否是群主和管理员是否能执行,修改保存后,发送给服务器,服务器更新相应数据

解散群聊

只有群主能够执行,发送请求给服务器,服务器删除群聊数据

群管理:

修改群头像,设置管理员

 

 

http://www.yayakq.cn/news/673003/

相关文章:

  • 宿迁莱布拉网站建设北京公司网站设计电话
  • 如何在网站做电子报中国建筑英才网官网
  • 电子产品网站模板泵阀网站建设
  • 网站上的vr全景是怎么做的php mysql购物网站开发
  • 怎么做全息网站咨询网站模板
  • 关于网站建设的句子来宾seo
  • 建设专业网站品牌建设的好处
  • 建设信息港网站设计广告网站
  • 梅州建站塔山双喜企业网站托管电话
  • 网站后期的维护管理免费图片制作
  • 有哪些网站是可以接单做任务的贵阳网站建设加q479185700
  • 电商网站服务排名做网站设计的论文中摘要怎么写
  • 外贸网站建设 义乌网站建设设计有哪些
  • 江苏智能网站建设流程快速建立平台网站开发设计建站流程
  • 网站建设述职报告广州昨晚10点出大事
  • 浙江大洋建设集团有限公司网站上海高端网站设计公司价格
  • 口碑好网站建设报价wordpress 怎么置顶
  • net的网站建设权重查询
  • 八戒网站建设棋牌游戏平台
  • 人才网网站模板杭州网站建设培训学校
  • 怎样通过网盘做电影网站建设厅试验员考试报名网站
  • 织梦文章类网站模板房产中介公司网站源码
  • 深圳网站建设民治大道上传软件的网站
  • 如何删除网站黑链潍坊百度seo
  • 注册越南网站vn深圳做网站乐云seo费用优惠
  • 网站建设方案范例网站名称和网址
  • 找工作网站哪个比较好宁波品牌网站设计
  • 手机网站建设维护广州十大跨境电商公司排名
  • 高效的宝安网站推广重庆在线官网
  • 做药物分析常用网站安徽省建筑平台信息网