<strike id="uc6q2"><menu id="uc6q2"></menu></strike>
  • <strike id="uc6q2"></strike>
  • <strike id="uc6q2"></strike>
  • 您當前的位置:首頁 > 專題 > 一款基于Java的局域網聊天軟件分享

    一款基于Java的局域網聊天軟件分享

    2013-06-27 00:00:00

      這款局域網聊天軟件有啥功能筆者就不去重新實踐了,簡單的羅列下功能列表:

      1. 消息發送:用戶可以發送消息給好友用戶。

      2. 消息接收:用戶可以接收到好友用戶發送給他的消息。

      3、表情編輯:用戶可以發送表情給好友,好友可以得到發送的表情

      4、文件傳輸功能:好友之間可以實現文件的傳輸功能

      5、好友之間可以實現遠程協助

      6、好友之間可以實現視頻通信(待調試,貌似xp可以,其他不行)

      7、用戶可以編輯自己的狀態、也可以給好友留言

      8、支持離線消息的發送以及系統消息的獲取

      9、提供用戶的查找、添加好友、刪除好友

      10、系統服務器管理功能:系統可以啟動或者關閉服務。

      11、系統提供一些必要的特色功能:音樂播放器、郵件發送(待實現)

      12、消息歷史記錄

      不過筆者貌似記得有些個功能還是不太完善的,希望有興趣的童鞋可以自己發現并完善。

      項目結構

      典型的C/S結構,自己實現了一個簡單的服務器,主要實現客戶端之間信息的轉發,

      離線消息的記錄。看看工程結構:

      服務器端:

      客戶端結構:

      如何運行

      1、SQL腳本導入

      數據后臺筆者使用的是MySQL數據庫,因此想要運行的話,首先應該安裝MySQL

      數據庫。這里我將其SQL腳本提供給讀者,讀者可自行導入創建數據庫、表。

      數據庫名為ManChat

      [sql] view plaincopyprint?/*

      Navicat MySQL Data Transfer

      Source Server : localhost_3306

      Source Server Version : 50051

      Source Host : localhost:3306

      Source Database : manchat

      Target Server Type : MYSQL

      Target Server Version : 50051

      File Encoding : 65001

      Date: 2013-05-28 22:35:49

      */

      SET FOREIGN_KEY_CHECKS=0;

      -- ----------------------------

      -- Table structure for `comment`

      -- ----------------------------

      DROP TABLE IF EXISTS `comment`;

      CREATE TABLE `comment` (

      `auther` varchar(30) default NULL,

      `comment_content` varchar(50) default NULL,

      `commenter` varchar(30) default NULL

      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

      -- ----------------------------

      -- Records of comment

      -- ----------------------------

      INSERT INTO `comment` VALUES ('aaa', '來一下', 'bbb');

      INSERT INTO `comment` VALUES ('bbb', '才回去', 'aaa');

      -- ----------------------------

      -- Table structure for `relationship`

      -- ----------------------------

      DROP TABLE IF EXISTS `relationship`;

      CREATE TABLE `relationship` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `userid` int(10) unsigned NOT NULL,

      `friendid` int(10) unsigned NOT NULL,

      PRIMARY KEY (`id`),

      KEY `FK_relationship_1` (`userid`),

      KEY `FK_relationship_2` (`friendid`),

      CONSTRAINT `FK_relationship_1` FOREIGN KEY (`userid`) REFERENCES `userinfo` (`id`),

      CONSTRAINT `FK_relationship_2` FOREIGN KEY (`friendid`) REFERENCES `userinfo` (`id`)

      ) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8;

      -- ----------------------------

      -- Records of relationship

      -- ----------------------------

      INSERT INTO `relationship` VALUES ('1', '1', '2');

      INSERT INTO `relationship` VALUES ('2', '2', '1');

      INSERT INTO `relationship` VALUES ('5', '1', '4');

      INSERT INTO `relationship` VALUES ('6', '4', '1');

      INSERT INTO `relationship` VALUES ('9', '1', '6');

      INSERT INTO `relationship` VALUES ('10', '6', '1');

      INSERT INTO `relationship` VALUES ('11', '2', '3');

      INSERT INTO `relationship` VALUES ('12', '3', '2');

      INSERT INTO `relationship` VALUES ('13', '1', '7');

      INSERT INTO `relationship` VALUES ('14', '7', '1');

      INSERT INTO `relationship` VALUES ('15', '6', '7');

      INSERT INTO `relationship` VALUES ('16', '7', '6');

      INSERT INTO `relationship` VALUES ('17', '2', '4');

      INSERT INTO `relationship` VALUES ('18', '4', '2');

      INSERT INTO `relationship` VALUES ('19', '1', '8');

      INSERT INTO `relationship` VALUES ('20', '8', '1');

      INSERT INTO `relationship` VALUES ('23', '8', '7');

      INSERT INTO `relationship` VALUES ('24', '7', '8');

      INSERT INTO `relationship` VALUES ('27', '9', '7');

      INSERT INTO `relationship` VALUES ('28', '7', '9');

      INSERT INTO `relationship` VALUES ('31', '9', '3');

      INSERT INTO `relationship` VALUES ('32', '3', '9');

      INSERT INTO `relationship` VALUES ('33', '9', '2');

      INSERT INTO `relationship` VALUES ('34', '2', '9');

      INSERT INTO `relationship` VALUES ('35', '8', '4');

      INSERT INTO `relationship` VALUES ('36', '4', '8');

      INSERT INTO `relationship` VALUES ('37', '6', '4');

      INSERT INTO `relationship` VALUES ('38', '4', '6');

      INSERT INTO `relationship` VALUES ('39', '6', '3');

      INSERT INTO `relationship` VALUES ('40', '3', '6');

      INSERT INTO `relationship` VALUES ('41', '6', '5');

      INSERT INTO `relationship` VALUES ('42', '5', '6');

      INSERT INTO `relationship` VALUES ('43', '9', '6');

      INSERT INTO `relationship` VALUES ('44', '6', '9');

      INSERT INTO `relationship` VALUES ('45', '3', '4');

      INSERT INTO `relationship` VALUES ('46', '4', '3');

      INSERT INTO `relationship` VALUES ('47', '3', '5');

      INSERT INTO `relationship` VALUES ('48', '5', '3');

      INSERT INTO `relationship` VALUES ('49', '2', '6');

      INSERT INTO `relationship` VALUES ('50', '6', '2');

      INSERT INTO `relationship` VALUES ('53', '8', '5');

      INSERT INTO `relationship` VALUES ('54', '5', '8');

      INSERT INTO `relationship` VALUES ('57', '1', '10');

      INSERT INTO `relationship` VALUES ('58', '10', '1');

      INSERT INTO `relationship` VALUES ('59', '8', '2');

      INSERT INTO `relationship` VALUES ('60', '2', '8');

      INSERT INTO `relationship` VALUES ('61', '1', '12');

      INSERT INTO `relationship` VALUES ('62', '12', '1');

      INSERT INTO `relationship` VALUES ('65', '13', '2');

      INSERT INTO `relationship` VALUES ('66', '2', '13');

      INSERT INTO `relationship` VALUES ('67', '13', '3');

      INSERT INTO `relationship` VALUES ('68', '3', '13');

      INSERT INTO `relationship` VALUES ('73', '13', '1');

      INSERT INTO `relationship` VALUES ('74', '1', '13');

      INSERT INTO `relationship` VALUES ('75', '1', '15');

      INSERT INTO `relationship` VALUES ('76', '15', '1');

      -- ----------------------------

      -- Table structure for `specificflag`

      -- ----------------------------

      DROP TABLE IF EXISTS `specificflag`;

      CREATE TABLE `specificflag` (

      `userName` varchar(20) default NULL,

      `specificFlag` varchar(50) default NULL

      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

      -- ----------------------------

      -- Records of specificflag

      -- ----------------------------

      INSERT INTO `specificflag` VALUES ('aaa', '哈哈,人生不如意之事十之八九');

      -- ----------------------------

      -- Table structure for `userinfo`

      -- ----------------------------

      DROP TABLE IF EXISTS `userinfo`;

      CREATE TABLE `userinfo` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `username` varchar(45) NOT NULL,

      `userpwd` varchar(45) NOT NULL,

      `usersex` varchar(4) NOT NULL,

      `userage` int(10) unsigned NOT NULL,

      `userimage` varchar(100) default NULL,

      `userdownlinemsg` varchar(2000) default NULL,

      `userstate` varchar(1) NOT NULL,

      PRIMARY KEY (`id`)

      ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

      -- ----------------------------

      -- Records of userinfo

      -- ----------------------------

      INSERT INTO `userinfo` VALUES ('1', 'aaa', '123', '男', '21', '1', null, 'a');

      INSERT INTO `userinfo` VALUES ('2', 'bbb', '234', '女', '18', '1', null, 'a');

      INSERT INTO `userinfo` VALUES ('3', 'ccc', '345', '男', '22', '3', null, 'a');

      INSERT INTO `userinfo` VALUES ('4', 'ddd', '456', '女', '21', '3', null, 'a');

      INSERT INTO `userinfo` VALUES ('5', 'eee', '567', '男', '18', '4', null, 'a');

      INSERT INTO `userinfo` VALUES ('6', 'fff', '678', '男', '19', '2', null, 'a');

      INSERT INTO `userinfo` VALUES ('7', 'vampire', '8528540', '男', '22', '5', null, 'a');

      INSERT INTO `userinfo` VALUES ('8', 'muhaha', 'nidaye', '女', '20', '4', null, 'a');

      INSERT INTO `userinfo` VALUES ('9', 'nidaye', 'muhaha', '男', '21', '5', null, 'a');

      INSERT INTO `userinfo` VALUES ('10', 'homepc', '123456', '女', '21', '3', null, 'a');

      INSERT INTO `userinfo` VALUES ('11', 'chenyunpeng', '62511cpy', '男', '21', '2', null, 'a');

      INSERT INTO `userinfo` VALUES ('12', 'abcd', '123456', '男', '25', '4', null, 'a');

      INSERT INTO `userinfo` VALUES ('13', 'friendsyh', 'friendsyh', '男', '20', '5', null, 'a');

      INSERT INTO `userinfo` VALUES ('14', '451694431', '123456', '男', '23', '2', null, 'a');

      INSERT INTO `userinfo` VALUES ('15', 'cqlt', 'zx001212', '男', '20', '2', null, 'a');

      2、導入源碼

      在Eclipse中導入源碼,修改相關的classpath,筆者使用的是JDK1.7,加了一些新特新

      (登錄、注冊的時候)。還有外部jar(主要是Mysql驅動包和一些美化包,美化包其實沒怎么用)

      我想這步就不需要筆者多說了吧,有什么問題可以留言問我!

      3、啟動服務器

      在啟動服務器之前,我們需要通過運行匯訊wiseuc做一些數據庫配置。

      填上自己設置好的數據庫的賬號和密碼

      之后運行ServerUI類,啟動服務器,記住IP,等會客戶端要用

      4、啟動客戶端

      客戶端的啟動,首先也要配置信息。

      接下來運行clientBase下的

      之后的操作,都非常簡單了,登錄、注冊......讀者可以使用aaa 123(用戶名 密碼)、bbb 234

      用戶進行登錄、相互聊天操作。

      簡單的貼點效果圖吧,詳細的還需讀者自己去操作:

      至于這款局域網聊天軟件其他功能需要讀者自己去實踐了,要說明的是視頻聊天貌似只是在XP才支持。使用的

      是JMF技術、內置了一個丑陋的音樂播放器。支持皮膚切換功能,讀者自行去實踐吧。

      好了就到這里吧,希望各位朋友多多支持,3Q!

    2
    Copyright ? 2007-2021 匯訊Wiseuc. 粵ICP備10013541號    
    展開
    久久精品视频99精品视频150| 国产综合免费精品久久久| 日韩av无码国产精品| 91精品国产高清| 少妇人妻精品一区二区三区| 国内精品51视频在线观看| 久久精品国产福利国产琪琪| 一本一道久久a久久精品综合| 一区二区三区日韩| 国产精品va在线观看手机版| 国产精品白丝AV在线观看播放| 精品亚洲456在线播放| 国产99精品久久| 91久久精品国产91性色也| 久久精品www人人爽人人| 亚洲嫩草影院久久精品| 久久国产乱子免费精品| 老司机99精品99| 久久久国产精品网站| 亚洲精品国产精品乱码不卡√| 日韩A∨精品日韩在线观看 | 田中瞳中文字幕久久精品| 久久国产精品免费一区二区三区| 亚洲精品老司机在线观看| 九九在线精品视频| 国产91在线精品| 精品久久久久久无码人妻蜜桃| 国产内地精品毛片视频| 精品无码人妻久久久久久| 久久国产成人精品国产成人亚洲| 国产精品原创巨作?v网站| 久久夜色精品国产| 亚洲精品成人无码中文毛片不卡| 国内精品久久久久久99蜜桃 | 精品人妻系列无码天堂| 99热在线精品播放| 2022国产精品视频| 国产精品亚洲片夜色在线| 亚洲精品无码专区久久| 成人久久精品一区二区三区| 精品久久久久久久99热|