资源简介
涉及到的知识点:
1.9.png的使用,这个用来做气泡的
2.RecyclerView滑动组建的使用,貌似要勾选Android 7.0才能使用 之前一直勾8.0折腾了很久
3.Socket连网通信
4.线程
5.在子线程中更新UI
代码片段和文件信息
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
public class FWQ微信 {
public static ArrayList list = new ArrayList();
public static Executor ex = Executors.newCachedThreadPool();
public static void main(String[] args) {
ServerSocket soo = null;
Socket so = null;
try {
soo = new ServerSocket(61666);
String chuangjian;
chuangjian = “创建服务器成功...“;
System.out.println(chuangjian);
while (true) {
so = soo.accept();
list.add(so);
ex.execute(new Jie(so));
}
} catch (IOException e) {
System.out.println(“创建服务器失败...“);
try {
soo.close();
so.close();
} catch (IOException e1) {
}
}
}
}
class Jie implements Runnable {// 用于接收消息
private Socket so;
Jie(Socket so) {
this.so = so;
String lianjie;
lianjie = “已连接 用户IP:“ + so.getInetAddress().getHostAddress() + “当前连接数:“ + FWQ微信.list.size();
System.out.println(lianjie);
}
public void run() {
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(so.getInputStream() “UTF-8“));
String s;
while ((s = in.readLine()) != null) {
new Thread(new Fa(s so)).start();// 收到消息之后 就把收到的消息发送给除了发送者之外在所有人
}
FWQ微信.list.remove(so);
String tuichu;
tuichu = “已退出 用户IP:“ + so.getInetAddress().getHostAddress() + “当前连接数:“ + FWQ微信.list.size();
System.out.println(tuichu);
in.close();
so.close();
} catch (IOException e) {
FWQ微信.list.remove(so);
String tuichu;
tuichu = “已退出 用户IP:“ + so.getInetAddress().getHostAddress() + “当前连接数:“ + FWQ微信.list.size();
System.out.println(tuichu);
try {
in.close();
so.close();
} catch (IOException e1) {
}
}
}
}
class Fa implements Runnable {// 发送消息
private String s;
private Socket ss;
Fa(String s Socket so) {
this.s = s;
ss = so;
}
public void run() {
Socket so;
try {
for (int i = 0; i < FWQ微信.list.size(); i++) {
so = FWQ微信.list.get(i);
if (so == ss)
continue;// 收到消息之后 就把收到的消息发送给除了发送者之外在所有人。ss为发送者
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(so.getOutputStream() “UTF-8“));
out.write(s + “\r\n“);
out.flush();
}
} catch (IOException e) {
System.out.println(“群发异常“);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2718 2018-05-31 15:01 山寨版微信\FWQ微信.java
文件 127 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.gitignore
文件 1 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\fileChanges\last-build.bin
文件 17 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\fileContent\fileContent.lock
文件 261169 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\fileHashes\fileHashes.bin
文件 17 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\fileHashes\fileHashes.lock
文件 20027 2018-05-27 15:11 山寨版微信\shanzhaibanweixin\.gradle\4.1\fileHashes\resourceHashesCache.bin
文件 953493 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\javaCompile\classAnalysis.bin
文件 355607 2018-05-27 15:11 山寨版微信\shanzhaibanweixin\.gradle\4.1\javaCompile\jarAnalysis.bin
文件 17 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\javaCompile\javaCompile.lock
文件 815961 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\javaCompile\taskHistory.bin
文件 26006 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\javaCompile\taskJars.bin
文件 2899535 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\taskHistory\fileSnapshots.bin
文件 81409 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\taskHistory\taskHistory.bin
文件 17 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\4.1\taskHistory\taskHistory.lock
文件 0 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.gradle\buildOutputCleanup\built.bin
文件 51 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.gradle\buildOutputCleanup\cache.properties
文件 2 2018-05-31 14:48 山寨版微信\shanzhaibanweixin\.gradle\buildOutputCleanup\cache.properties.lock
文件 626 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\gradle.xm
文件 533 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\android_arch_core_common_1_0_0_jar.xm
文件 548 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\android_arch_lifecycle_common_1_0_0_jar.xm
文件 658 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\android_arch_lifecycle_runtime_1_0_0.xm
文件 742 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_animated_vector_drawable_26_1_0.xm
文件 682 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_appcompat_v7_26_1_0.xm
文件 501 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_constraint_constraint_layout_1_1_0.xm
文件 425 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_constraint_constraint_layout_solver_1_1_0_jar.xm
文件 697 2018-05-27 14:08 山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_recyclerview_v7_26_1_0.xm
文件 608 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_support_annotations_26_1_0_jar.xm
文件 609 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_support_annotations_27_1_1_jar.xm
文件 692 2018-05-27 13:58 山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_support_compat_26_1_0.xm
............此处省略2430个文件信息
- 上一篇:全志H3 SDK开发包说明文档
- 下一篇:spire.pdf-3.6.9.jar
相关资源
- 用Android studio写仿微信语音聊天功能
- android 布局生成图片
- android实现微信朋友圈和微信好友分享
- Android仿微信拍摄、录制视频,以及视
- 微信dat文件解析工具.zip
- 网络应用程序大作业,使用tcp和udp完
- android环信聊天
- healthsys.7z个人健康系统web端
- 2018年10月黑马《十次方》视频+架构师
- 微信小程序源码-合集4
- 微信dat文件解析工具java编写.rar
- Java版本-微信服务号源码
- Android 集成声网一对一视频聊天简洁版
- Android聊天客户端
- Android环信即时聊天集成EaseUI的依赖库
- Java后台源码 项目采用SpringBoot框架 可
- java实现微信公众号模版消息推送
- 微信商城 小程序 前后台源码 Java后台
- 安卓APP开发“微信读书”
- 微信小程序商城+java后台
- 基于网易云信Android_Demo_v5.9.0的纯聊天
- Java 类似QQ聊天扁平化的Swing聊天程序
- JavaFx 仿QQ 登陆 主界面全部功能 聊天
- Java后台微信企业转账到零钱
- java聊天室软件源代码
- P2PJava--多用户在线聊天室
- 基于TCP/IP协议聊天室的课程设计报告
- java课程设计报告-聊天室
- java小程序的案例小程序
- java web 聊天室系统数据库
评论
共有 条评论