下载 >  课程资源 >  C/C++ > 聊天室完整版
4分

聊天室完整版

聊天室完整版 聊天室完整版
2007-07-30 上传大小:205KB
立即下载 开通VIP
分享
收藏 举报
【VIP免费】 跟老菜鸟学C++ 【VIP免费】 C++基础

评论 共1条

yuyang3726 学习看看不错
2018-03-14
回复
聊天室服务器客服端源码

完整版的聊天室服务器客服端源码,完整版的聊天室服务器客服端源码,完整版的聊天室服务器客服端源码

立即下载
3积分/C币
Linux网络编程(四)——多线程实现简单的聊天(linux 服务器端 windows客户端)

Linux网络编程(四)——多线程实现简单的聊天(linux 服务器端 windows客户端)

立即下载
5积分/C币
java做的聊天室完整版《源码》

........java做的聊天室完整版《源码》..........

立即下载
3积分/C币
基于jain sip的聊天室 完整版 服务器+客户端

基于jain sip的聊天室 完整版 服务器+客户端

立即下载
3积分/C币
Java聊天室[毕业设计完整版 有数据库]

Java聊天室[毕业设计完整版 有数据库]

立即下载
5积分/C币
Java聊天室毕业设计完整版+数据库Happychat2

Java聊天室毕业设计完整版+数据库Happychat2

立即下载
3积分/C币
Linux下多人聊天室(完整版)

比较基础的代码,分客户端和服务器.实现客户端的通信,而服务器转发的功能

立即下载
30积分/C币
任丘人聊天室1.0完整版

任丘人聊天室等级权限说明: 等级1:可以使用基本的聊天功能。 等级2:察看在线人员性别以及修改自己的资料 等级3:察看在线人员的资料,聊天具有屏蔽他人内容的功能。 等级4:使用ubb语言标识,修改自己的头衔,可以禁止他人发言 等级5:可以察看他人ip地址,具有踢人的管理权限。 等级6:管理员权限。执行所有的功能。 管理账号:风筝 密码:123456

立即下载
3积分/C币
Web在线聊天完整源码

Web在线聊天源码,非常全的源码,有数据库的,项目所有文件都在,需要的朋友不要错过哦

立即下载
4积分/C币
模仿QQweb网页基本聊天php+jquery

模仿QQweb网页基本聊天php+jquery

立即下载
5积分/C币
菏泽聊天室 asp端 完整版

直接iis配置,里面有说明,快速搭建,聊天室,只要你会搭建网站,就会用了。 最新测试,无毒!

立即下载
3积分/C币
Java聊天室毕业设计完整版+数据库

一个Java的程序设计 聊天室毕业设计 完整代码+数据库

立即下载
3积分/C币
极酷中文网聊天室 V1.0 完整版

具有小巧功能较好的特点,主要是占用资源极小,分级别,分别具有不同的发贴、留言、点歌、踢人等权限,歌曲需自行添加,只提供样板2首

立即下载
3积分/C币
基于html5的简单聊天室

基于html5的简单聊天室,使用EXT4框架实现窗口视图。

立即下载
50积分/C币
一个多人的聊天室(含源码)

一个多人的聊天室(含源码)今天想找点关于winSocket的东西,学习一下,可是没找到,只好先用delphi玩一下了,用socket写了一个小聊天室,没什么技术含量,没有接触过socket的可以做一下感性认识,呵呵,欢迎大家到华竹讨论关于socket的知识。http://sinoprise.com

立即下载
4积分/C币
Web微信聊天室

网页版的聊天室,界面十分良好,有用户信息设置,在同一局域网可实时聊天,聊天记录会保存,可多种格式的下载,添加删除好友,好友头像卡,朋友圈等功能

立即下载
8积分/C币
JAVA语言实现的聊天室程序(达内项目).rar

JAVA语言实现的聊天室程序(达内项目) JAVA 版聊天室,源码 + 说明文档 + 可执行jar包 + 帮助手册 使用技术:SWING + SOCKET 一、 背景描述 在学习完网络以后,开始练习本项目的部署安排。 二、 实现要求 能够完成多线程的用户聊天程序。 三、 实现技术 a) 使用ServerSocket、Socket完成服务端和客户端的连接。 b) 服务端使用多线程的方式可以接受多个客户端。 c) 使用对象的方式,在服务端和客户端之间传送数据。

立即下载
50积分/C币
java实现聊天室功能(全部代码,有界面)

java写的聊天室程序,支持群聊,公聊,私聊,支持刷新好友列表,使用swing以及awt写的简单界面,可以多人登录

立即下载
30积分/C币
jsp网页版聊天室(附有源码)

jsp做的网页版聊天室,可以一起在局域网内群聊而且可以发图片哦,很不错的,远程协助的功能还在完善中,希望大家和我一起完成啊,,附有源码哦,和数据库,oracle ,采用了三层架构的模式来设计dao,是一个完整的项目

立即下载
3积分/C币
在线聊天室(ajax+asp)

开发语言为Asp,服务器脚本为VBScript; AJAX部分采用JQuery框架,功能代码均为原创;数据库暂时采用ACCESS; --------- 程序功能: 多人即时聊天;新信息声音提示;用户自主选择表情和颜色; 管理员删除信息/踢出用户;高强度管理密码; 数据库压缩; --------- 程序特色 特色?没什么特色!普通的ASP、普通的HTML、普通的JavaScript、还有一个普通的程序编写者; 唯有一点----本程序为原创,没有参考任何其他类似程序 --------- 默认管理员和密码都是admin 一、配置 用记事本打开inc文件夹下的conn.asp,注意如下代码 '聊天室配置 dim admins: admins="anlige,admin" '管理员用户,可自行配置,每个管理员以英文逗号(,)分割;无数量限制 dim pwd: pwd="43894a0e21232f297a57a5a743894a0e4a801fc3" '管理密码,所有管理员使用一个密码!本密码经MD5加密 dim adminToFront: adminToFront=false '管理员登录后是否同步显示到前台(注意,如果设置true,则登录后台的同时登录前台,前台无需再用另一账号),建议设置为false dim msgExpires: msgExpires=300 '信息过期时间,以分钟为单位,系统自动删除过期的信息 dim userExpires: userExpires=20 '用户过期时间,以分钟为单位,系统自动踢出20分钟不发言的用户 '结束配置 配置结束后保存! ____________________________________________________注意(关于密码)_____________________________________________________________________ 密码使用特殊MD5加密算法加密,如要修改密码请按如下方法修改: 假如你的聊天室地址为http://www.***.com/chat/ 访问http://www.***.com/chat/getmd5.asp?string=你要设置的密码,例如http://www.***.com/chat/getmd5.asp?string=admin 然后会显示一串字符串,上例的话会显示43894a0e21232f297a57a5a743894a0e4a801fc3 将inc/conn.asp代码中pwd的值修改为显示的字符串,保存!下次管理员登录就可以用admin这个作为密码登录,建议修改密码后移动getmd5.asp文件 _______________________________________________________________________________________________________________________________________ 二、使用 聊天室默认地址为index.html,直接访问http://www.***.com/chat/index.html即可进入聊天室 具体使用方法请参考help.html 本程序皮肤使用的是QQ2008的聊天皮肤,有兴趣可以自己做皮肤,注意布局! 三、关于 您可以免费使用本程序,请保留代码中的注释信息,谢谢! 请勿利用本程序来实施任何违反法律的行为;否则,一切后果自负! 请保留作者版权信息,尽管不是什么大程序,但作者近期发现很多使用者连开发人都改成自己的名字,这既是对别人劳动成果的不尊重,也是一个人素质的体现

立即下载
3积分/C币
基于jsp的最简单的在线聊天室

之前要积分的删不了只能重新上传咯,只有源码

立即下载
30积分/C币
webSocket 聊天室 demo

WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。代码有详细注释。

立即下载
50积分/C币
java做的网络聊天室+私聊+发送表情+字体变化+注册处理

java做的网络聊天室,包含客户端与服务器源代码,同时包含聊天室中所用到的图片。 功能实现: 1.登录 在登录框输入用户名和密码之后,发送到服务器,如果服务器文件中包含这个用户,且密码匹配正确,则正确登录,否则,提示无法登录; 2.注册 没有用户名,可以向服务器里面进行注册,然后就可以用注册的用户名进行登录 3.密码找回 忘记密码想找回,需输入正确的注册用户名及邮箱。 4.发送表情 聊天界面有选择表情的label,对此label进行了鼠标事件的处理,用到的是QQ表情。 5.私聊 点击用户列表中用户名,可以选择私聊对象。发送的消息只会发送给私聊的对象。 6.查看用户资料 点击聊天界面的查看用户资料checkbox按钮,会向服务器发送查看用户资料的请求,服务器会返回用户对应的资料。

立即下载
5积分/C币
Java聊天室程序(源代码)

Java聊天室程序 需求分析 2.1 业务需求 1. 与聊天室成员一起聊天。 2. 可以与聊天室成员私聊。 3. 可以改变聊天内容风格。 4. 用户注册(含头像)、登录。 5. 服务器监控聊天内容。 6. 服务器过滤非法内容。 7. 服务器发送通知。 8. 服务器踢人。 9. 保存服务器日志。 10.保存用户聊天信息。 2.2 系统功能模块 2.2.1 服务器端 1.处理用户注册 2.处理用户登录 3.处理用户发送信息 4.处理用户得到信息 5.处理用户退出 2.2.2 客户端 1.用户注册界面及结果 2.用户登录界面及结果 3.用户发送信息界面及结果 4.用户得到信息界面及结果 5.用户退出界面及结果 2.3 性能需求 运行环境:Windows 9x、2000、xp、2003,Linux 必要环境:JDK 1.5 以上 硬件环境:CPU 400MHz以上,内存64MB以上 3.1.2 客户端结构 ChatClient.java 为客户端程序启动类,负责客户端的启动和退出。 Login.java 为客户端程序登录界面,负责用户帐号信息的验证与反馈。 Register.java 为客户端程序注册界面,负责用户帐号信息的注册验证与反馈。 ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 Clock.java 为客户端程序的一个小程序,实现的一个石英钟功能。 3. 2 系统实现原理 当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端 当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问。 接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人感觉没有时效性,所以经过权衡后认为3秒最佳,因为每个用户都不可能在3秒内连续发送信息。 当每次用户接收到聊天信息后将会开始分析聊天信息然后将适合自己的信息人性化地显示在聊天信息界面上。 4.1.1 问题陈述 1.接受用户注册信息并保存在一个基于文件的对象型数据库。 2.能够允许注册过的用户登陆聊天界面并可以聊天。 3.能够接受私聊信息并发送给特定的用户。 4.服务器运行在自定义的端口上#1001。 5.服务器监控用户列表和用户聊天信息(私聊除外)。 6.服务器踢人,发送通知。 7.服务器保存日志。

立即下载
50积分/C币
js实现网页在线聊天室

Javascript实现网页在线聊天,类似于聊天室的简单实现.

立即下载
5积分/C币
达内客户端+聊天室源码

package windows; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.security.MessageDigest; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.Vector; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.params.ClientPNames; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; /** * 核心功能封装类 * @author 冯晋强 * */ public class TmoocOperate { static String sessionid; static CloseableHttpResponse response = null; static CloseableHttpClient httpclient = null; //静态块 static{ // 创建提交数据对象 httpclient = HttpClients.createDefault(); } /** * 处理在线疑答贴子列表源码数据 * @author 刑保政 */ public static String[][] splist(String Str) { Str = Str.substring(Str.lastIndexOf("<ul>") + 4, Str.lastIndexOf("</ul>")).replaceAll("\\s", ""); String[] lis = Str.split("</li>");// 所有记录的数组 String[] jilu = null;// 单条记录的数组 String[][] allMsg = new String[lis.length - 1][4]; // 创建一个二维数组保存处理后的数据,其中每个一维数组中包含一个记录,每个二维数组中包含每条数据的信息 // allMsg[i][0]:标题; allMsg[i][1]:时间 allMsg[2]:处理状态 for (int i = 0; i < lis.length - 1; i++) {// 遍历所有记录,取出每一条记录 String ss = lis[i];// 取出每一条记录 jilu = ss.split("(</a></span>|</span>)"); // 每条记录分割成3部分 jilu[0]:标题 jilu[2]:时间 jilu[3]:处理状态 for (int j = 0; j < jilu.length; j++) {// 由于数据中还含有部分额外代码,遍历所有记录筛选数据 String msg = jilu[j];// 单条记录中的每一个数据 System.out.println(msg); msg = msg.substring(msg.lastIndexOf(">") + 1, msg.length()); String uid = jilu[0].substring(jilu[0].lastIndexOf("(") + 1, jilu[0].lastIndexOf(")")); allMsg[i][j] = msg; allMsg[i][3] = uid; } } return allMsg; } /** * 处理在线疑答帖子内容源码数据 * @author 刑保政 */ public static String[] splist1(String all) { String queStr = all.substring(all.indexOf("<div class=\"quesdetail\""),all.indexOf("<div id=\"answers\"")); // .replaceAll("\\s","");//处理源码筛选字符串,只获取含有问题标题的内容 // System.out.println(queStr);//测试标题部分字符串 String[] queArr = queStr.split("(</span|</pre|</div>)"); for(int i=0;i<queArr.length;i++){ String msg = queArr[i]; msg = msg.substring(msg.lastIndexOf(">")+1, msg.length()); if(i == 5){ msg = msg.substring(msg.indexOf(":")+1).trim(); } queArr[i] = msg; } String[] que = new String[4];//保存最终标题内容的数组 que[0] = queArr[1]; que[1] = queArr[3]; que[2] = queArr[4]; que[3] = queArr[5]; for(int i=0;i<2;i++){ que[i] = que[i].replaceAll("&lt;","<"); que[i] = que[i].replaceAll("&gt;",">"); que[i] = que[i].replaceAll("&nbsp;"," "); que[i] = que[i].replaceAll("&amp;","&"); que[i] = que[i].replaceAll("&quot;","\""); que[i] = que[i].replaceAll("&copy;","@"); que[i] = que[i].replaceAll("&reg;","商标"); } return que; } // 回复帖子方法包 public static boolean SetTitle1(String message,String uid) { try { // url提交地址 HttpPost httpPost = new HttpPost("http://tts8.tmooc.cn/onlinefaq/anwser"); // 组合数据包 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("questionId", uid)); nvps.add(new BasicNameValuePair("context", message)); // 设置数据包 httpPost.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8)); // 提交数据包 response = httpclient.execute(httpPost); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); System.out.println(str); if(str.indexOf("true")!=-1){ return true; }else{ return false; } } catch (ClientProtocolException e) { System.out.println("数据包提交失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } // 发送帖子方法包 public static boolean SetTitle(String tilte, String message) { try { // url提交地址 HttpPost httpPost = new HttpPost("http://tts8.tmooc.cn/onlinefaq/add"); // 组合数据包 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("title", tilte)); nvps.add(new BasicNameValuePair("context", message)); // 设置数据包 httpPost.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8)); // 提交数据包 response = httpclient.execute(httpPost); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); System.out.println(str); if(str.indexOf("true")!=-1){ return true; }else{ return false; } } catch (ClientProtocolException e) { System.out.println("数据包提交失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } /** * * @author 刑保政 */ public static Vector<Vector<String>> getAite(Vector<Vector<String>> vvs){ /** 保存所有姓名的集合,因为回帖人中有重复数据,所以这里用Set去除重复 */ Set<String> usersSet = new HashSet<String>(); /** 保存所有回帖内容的集合 */ List<String> texts = new ArrayList<String>(); /* 遍历回帖集合,分别取出每一条记录中的回帖人和回帖内容,并添加到 * 对应的集合中,方便下一步遍历筛选 */ for(int i=0;i<vvs.size();i++){ Vector<String> v = vvs.get(i); String user = v.get(1); String text = v.get(3); usersSet.add(user); texts.add(text); } // System.out.println(users);//测试回帖人集合 // System.out.println(texts);//测试回帖内容集合 String[] users = new String[usersSet.size()]; usersSet.toArray(users);//将usersSet回帖人集合转为数组方便遍历 // System.out.println(Arrays.toString(users));//测试回帖人数组 /* 遍历回帖人数组,取出每一个回帖人, * 遍历每一条回帖内容,判断内容是否以@+回帖人开头,(当前设置@只能在开头有用,中间的不予考虑) * 若是则提取该回帖人并添加到当前楼层集合中 */ for(int i=0;i<users.length;i++){ String user = users[i]; for(int j=0;j<texts.size();j++){ String text = texts.get(j); if(text.startsWith("@" + user)){ // System.out.println(text); vvs.get(j).add("@" + user); } } } return vvs;//将处理后的集合返回 } /** * * @author 刑保政 */ public static Vector<Vector<String>> getAnswer(String all){ all = all.substring(all.indexOf("<div id=\"answers\""), all.indexOf("<div id=\"appendQues\"")); //抽取数据片段(答案部分) // System.out.println(all); String[] ansArr = all.split("<div class=\"answer");//分割成存储单条回帖的数组 String[] answer = null;//每一条回帖数组 Vector<Vector<String>> vvs = new Vector<Vector<String>>();//创建二维集合保存信息 /* * 遍历回帖集合,取出每一条回帖记录,分割成一组回帖信息元素, * 进行处理后添加进二维集合 */ for(int i = 1;i<ansArr.length;i++){ String ansStr = ansArr[i]; answer = ansStr.split("(</span>|</pre>)"); vvs.add(new Vector<String>()); vvs.get(i-1).add(i + "");//楼层数 for(int j=0;j<answer.length-1;j++){//处理每条回帖的信息 String msg = answer[j].trim(); msg = msg.substring(msg.lastIndexOf(">")+1,msg.length()).trim(); if(j == 1){//对时间单独进行处理一下 msg = msg.substring(msg.indexOf("(")+1,msg.length()-1).trim(); } vvs.get(i-1).add(msg);//添加进二维集合 } } vvs = getAite(vvs); return vvs; } // 读取在线疑答帖子内容源码数据 public static String Get_title(String uid) { try { // url提交地址 HttpGet httpGet = new HttpGet("http://tts8.tmooc.cn/onlinefaq/detail/"+ uid); // 提交数据包 response = httpclient.execute(httpGet); // 取出cookie System.out.println(response.getFirstHeader("Cookie")); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); return str; } catch (ClientProtocolException e) { System.out.println("数据包提交失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } // 读取在线疑答帖子列表源码数据 public static String Get_tilte() { try { // url提交地址 HttpGet httpGet = new HttpGet("http://tts8.tmooc.cn/onlinefaq/questionList"); // 提交数据包 response = httpclient.execute(httpGet); System.out.println("第七次请求成功"); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); return str; } catch (ClientProtocolException e) { System.out.println("数据包提交失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } // 初始化登陆,判断是否需要登陆验证码 暂时未完善 public static void GetCode(String user) { CloseableHttpClient httpclient = null; CloseableHttpResponse response2 = null; try { // url提交地址 HttpPost httpPost = new HttpPost("http://tmooc.cn/login/loginTimes"); // 组合数据包 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("login_name", user)); // 设置数据包 httpPost.setEntity(new UrlEncodedFormEntity(nvps)); // 创建提交数据对象 httpclient = HttpClients.createDefault(); // 提交数据包 response2 = httpclient.execute(httpPost); // 读取返回数据信息 String str = EntityUtils.toString(response2.getEntity()); System.out.println(str); TmoocOperate.SetTitle("今天的表示没怎么听懂", "你们呢。。。"); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { response2.close(); httpclient.close(); } catch (IOException e) { e.printStackTrace(); } } } // 登陆Tmooc方法 public static boolean Tmooc_Login(String user, String pass) { try { // url提交地址 HttpPost httpPost = new HttpPost("http://tmooc.cn/login"); // 组合数据包 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("login_name", user)); nvps.add(new BasicNameValuePair("password", Login_MD5(pass).toLowerCase())); nvps.add(new BasicNameValuePair("type", "P")); nvps.add(new BasicNameValuePair("uuid","E1CC4286A419C899CCBF6A04E5A1CF02")); // 设置数据包 httpPost.setEntity(new UrlEncodedFormEntity(nvps)); // 提交数据包 response = httpclient.execute(httpPost); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); //判断是否登陆成功 if (str.indexOf(user) != -1) { sessionid = str.substring(14, str.indexOf("|P#")); // 取出cookie方法 这里用不到 //Cookie = response2.getFirstHeader("Set-Cookie").toString(); // url提交地址 HttpGet httpGet = new HttpGet("http://tmooc.cn/login/hadlogin/"+ sessionid); // 提交数据包 response = httpclient.execute(httpGet); // url提交地址 httpGet = new HttpGet("http://tts8.tmooc.cn/user/myTTS?sessionId=" + sessionid + "&date="); // 提交数据包 response = httpclient.execute(httpGet); return true; } } catch (UnsupportedEncodingException e) { System.out.println("设置数据包出错"); e.printStackTrace(); } catch (ClientProtocolException e) { System.out.println("提交数据异常"); e.printStackTrace(); } catch (IOException e) { System.out.println("其他错误"); e.printStackTrace(); } return false; } //utf-8编码 public static String bm_utf8(String Str){ String bmjg = null; try { bmjg = URLEncoder.encode(Str, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return bmjg; } // 登陆tmooc时md5加密方法 public final static String Login_MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; try { byte[] btInput = s.getBytes(); // 获得MD5摘要算法的 MessageDigest 对象 MessageDigest mdInst = MessageDigest.getInstance("MD5"); // 使用指定的字节更新摘要 mdInst.update(btInput); // 获得密文 byte[] md = mdInst.digest(); // 把密文转换成十六进制的字符串形式 int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexDigits[byte0 >>> 4 & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new String(str); } catch (Exception e) { e.printStackTrace(); return null; } } }

立即下载
3积分/C币
JAVA实现简单聊天室

使用java语言实现简单的聊天室功能

立即下载
2积分/C币
JAVA完整版聊天室源码可以运行,可做毕业设计

JAVA完整版聊天室源码可以运行,可做毕业设计。文件内容较为全面。

立即下载
2积分/C币
c#聊天室(服务器和客户端)

用c#写了一个比较健壮的多人聊天室 可以多个人一起聊天

立即下载
3积分/C币
在线聊天室(asp.net)

本资源包含全部源代码,有数据库,打开导入数据库即可。

立即下载
3积分/C币
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

聊天室完整版

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: