基本信息
源码名称:Android即时通讯源码(仿qq,含服务器端源码)
源码大小:3.80M
文件格式:.zip
开发语言:Java
更新时间:2020-01-05
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 4 元 
   源码介绍


服务器端代码:

package com.example.im.main;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

import com.example.im.core.QQConnection;
import com.example.im.listener.ChatP2PListener;
import com.example.im.listener.ChatRoomListener;
import com.example.im.listener.LoginMsgListener;
import com.example.im.listener.LoginOutListener;


public class QQImServer {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			// ① 创建一个线程 等其他客户端的连接
			final ServerSocket server = new ServerSocket(8090);
			System.out.println("---服务器启动---"   new Date().toString());
			new Thread() {//
				public void run() {
					while (true) {
						QQConnection conn = null;
						try {
							Socket client = server.accept();
							System.out.println("---有客户端接入---"   client);
							// ② 如果客户端连接成功分配置一个线程
							conn = new QQConnection(client);
							conn.addOnRecevieMsgListener(new LoginMsgListener(conn));
							conn.addOnRecevieMsgListener(new ChatP2PListener());
							conn.addOnRecevieMsgListener(new ChatRoomListener());
							conn.addOnRecevieMsgListener(new LoginOutListener());
							// ③ 该线程内等待用户数据
							conn.connect();
							// ④ 分配一个线程给客户端
						} catch (IOException e) {
							e.printStackTrace();
							conn.disconnect();
						}
					}
				};
			}.start();

		} catch (Exception e) {//
			e.printStackTrace();
		}
	}

}