• 大小: 28.93MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-14
  • 语言: Java
  • 标签: 微信  聊天  群聊  socket  

资源简介

涉及到的知识点: 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.xml

     文件        533  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\android_arch_core_common_1_0_0_jar.xml

     文件        548  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\android_arch_lifecycle_common_1_0_0_jar.xml

     文件        658  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\android_arch_lifecycle_runtime_1_0_0.xml

     文件        742  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_animated_vector_drawable_26_1_0.xml

     文件        682  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_appcompat_v7_26_1_0.xml

     文件        501  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_constraint_constraint_layout_1_1_0.xml

     文件        425  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_constraint_constraint_layout_solver_1_1_0_jar.xml

     文件        697  2018-05-27 14:08  山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_recyclerview_v7_26_1_0.xml

     文件        608  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_support_annotations_26_1_0_jar.xml

     文件        609  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_support_annotations_27_1_1_jar.xml

     文件        692  2018-05-27 13:58  山寨版微信\shanzhaibanweixin\.idea\libraries\com_android_support_support_compat_26_1_0.xml

............此处省略2430个文件信息

评论

共有 条评论