freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的網(wǎng)絡即時通信系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-07-20 22:18 本頁面
 

【文章內(nèi)容簡介】 富和有用的功能。它具有良好的連通性、速度和安全性,這使的MySQL十分適合于訪問Internet上的數(shù)據(jù)庫。 (5)MySQL服務器工作在客戶端/服務器模式下,或嵌入式系統(tǒng)中。MySQL數(shù)據(jù)庫軟件是一種客戶端/服務器系統(tǒng),由支持不同后端的1個多線程SQL服務器,數(shù)種不同的客戶端程序和庫,眾多管理工具和廣泛的應用編程接口API組成。我們還能以嵌入式多線程庫的形式提供MySQL服務器,你可以將其鏈接到你的應用程序,從而獲得更小、更快、和更易管理的產(chǎn)品。4 系統(tǒng)設計本系統(tǒng)主要是模仿聊天系統(tǒng)設計的一個基于C/S結構的簡單的聊天系統(tǒng)。系統(tǒng)采用的客戶/服務器摸式其基本結構如圖所示:本系統(tǒng)實現(xiàn)了簡單的新用戶注冊,用戶登陸,用戶直接根據(jù)號碼查找添加好友和根據(jù)在線的用戶信息查找來添加好友,同時可以查看在線的用戶信息,向在線的用戶發(fā)送消息,用戶接收消息等。系統(tǒng)功能圖如下所示:即時聊天系統(tǒng)用戶登陸用戶注冊直接查找好友好友查找更新用戶信息更新用戶刪除好友信息查看發(fā)送信息接收信息系統(tǒng)可以采用任何一種流行的Java支持的數(shù)據(jù)庫。本系統(tǒng)采用了MySQL作為后臺數(shù)據(jù)庫。通過對現(xiàn)在流行的聊天軟件ICQ進行參考,建立數(shù)據(jù)庫,名為javaicq。數(shù)據(jù)庫共建立兩個表,一個是用戶的基本信息,包括呢稱及Jicq號碼等。一個是用戶的好友列表,包括用戶自己的號碼和好友的號碼。(1)用戶的基本信息表(表名icq)序號 字段名 含義 數(shù)據(jù)類型 NULL1 Icqno 用戶的號碼 int No2 Nickname 用戶的呢稱 Char No3 Password 用戶的密碼 Char No4 Status 用戶在線否 Bit No5 Ip 用戶的IP地址 Char Yes6 Info 用戶的資料 Varchar Yes7 Pic 用戶的頭像號 Int Yes8 Sex 用戶性別 Char Yes9 Email 用戶的 Char Yes10 Place 用戶的籍貫 Char yes其中Icqno字段為自動增加。(其他還可以添加諸如電話號碼等字段作為更多選擇)(2)用戶的好友表(表名friend)序號 字段名 含義 數(shù)據(jù)類型 NULL1 Icqno 用戶的號碼 Int No2 Friend 好友的號碼 Int No5 詳細的設計與實現(xiàn)服務器與客戶間通過套接口Socket(TCP)連接。在java中使用套接口相當簡單,Java .,使得編寫網(wǎng)絡應用程序相對容易.服務器采用多線程以滿足多用戶的請求,通過JDBC與后臺數(shù)據(jù)庫連接,并通過創(chuàng)建一個ServerSocket對象來監(jiān)聽來自客戶的連接請求,默認端口為8080,然后無限循環(huán)調(diào)用accept()方法接受客戶程序的連接。具體實現(xiàn)代碼如下所示:class ServerThread extends Thread{//繼承線程private Socket socket。//定義套接口private BufferedReader in。//定義輸入流private PrintWriter out。//定義輸出流int no。//定義申請的jicq號碼int number。public ServerThread(Socket s , int num) throws IOException {//線程構造函數(shù) number =num。 socket=s。//取得傳遞參數(shù) in=new BufferedReader(new InputStreamReader(()))。//創(chuàng)建輸入流 out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(())),true)。//創(chuàng)建輸出流 start()。//啟動線程 }public void run(){ //線程監(jiān)聽函數(shù) try{ while(true){ String str=()。//取得輸入字符串 if((end))break。//如果是結束就關閉連接else if((login)) {//如果是登錄 try{ ()。 Connection c= ( jdbc:mysql://localhost/javaicq,root, )。 String icqno=()。 int g=(icqno)。//取得輸入的jicq號碼 String passwd=().trim()。//取得輸入的密碼 String sql=select nickname,password from icq where icqno=39。+icqno+39。 Statement prepare= ()。 ResultSet r=(sql)。//執(zhí)行數(shù)據(jù)庫查尋 if(()){//以下比較輸入的號碼于密碼是否相同 String pass=(password).trim()。 // (pass)。 if((0,pass,0,())) { (ok)。 String ip = ().getHostAddress()。 String setip=update icq set ip=39。+ip+39。where icqno=39。+icqno+39。 Statement prest= ()。 int set =(setip)。 String status=update icq set status=1 where icqno=39。+icqno+39。 Statement set2= ()。 (status)。 (set2)。 //set online}//否者告訴客戶失敗 else (false)。()。()。} else{ (false)。 (false)。 ()。 ()。} }catch (Exception e){()。} ()。 }//end login //登錄結束 //以下為處理客戶的新建請求 else if((new)){ number=number+1。 try{ ()。 Connection c2= ( jdbc:mysql://localhost/javaicq,root, )。 //準備接受用戶的呢稱,密碼,,個人資料,籍貫,頭像等信息 //PreparedStatement prepare2=(newsql)。 String nickname=().trim()。 String password=().trim()。 String =().trim()。 String info=().trim()。 String place=().trim()。 int picindex=(())。 String newsql=insert into icq(icqno,nickname,password,,info,place,pic) values(39。+number+39。,39。+nickname+39。,39。+password+39。,39。++39。,39。+info+39。,39。+place+39。,39。+picindex+39。)。 //int r3=()。//執(zhí)行數(shù)據(jù)庫添加 Statement pre2 =()。 (newsql)。 String sql2=select icqno from icq where nickname=39。+nickname+39。//以下告訴客戶其注冊的號碼 Statement pre3 =()。 ResultSet r2 = (sql2)。 while(()){ //((1))。 no=(1)。 (no)。 } (no)。 (ok)。 ()。//完畢 }catch (Exception e){()。(false)。} ()。 }//end new//新建用戶結束//以下處理用戶查找好友else if((find)){ try{ ()。 Connection c3= ( jdbc:mysql://localhost/javaicq,root, )。 //以下連接數(shù)據(jù)庫,并且返回其他用戶的呢稱,性別,籍貫,個人資料等信息 String find=select nickname,sex,place,ip,,info from icq。 Statement st=()。 ResultSet result=(find)。 while(()){ ((nickname))。 ((sex))。 ((place))。 ((ip))。 (())。 ((info))。 }//while end (over)。 int d,x。boolean y。//以下返回用戶的jicq號碼,頭像號,及是否在線 ResultSet iset=(select icqno,pic,status from icq)。 while(()){ d=(icqno)。 (d)。 x=(pic)。//pic info (x)。 y=(status)。 if (y){(1)。} else {(0)。} //(d)。 } ()。 ()。()。}catch (Exception e){()。(false)。}//()。}//end find//查找好友結束//以下處理用戶登錄時讀取其好友資料else if((friend)){ try{ ()。 Connection c4= ( jdbc:mysql://localhost/javaicq,root, )。 //以下連接好友表,返回用戶的好友名單 int icqno=(())。 (icqno)。 // (1,icqno)。 String friend=select friend from friend where icqno=39。+icqno+39。 Statement pre4=()。 ResultSet r4=(friend)。 Vector friendno=new Vector()。//該矢量保存好友號碼 while(()){ (new Integer((1)))。 }//以下告訴客戶其好友的呢稱,號碼,ip地址,狀態(tài),頭像,個人資料等信息 (())。 for(int i=0。i()。i++){ String friendinfo=select nickname,icqno,ip,status,pic,,info from icq where icqno=39。+(i)+39。 Statement pre5 =()。 ResultSet r5=(friendinfo)。 boolean status。 while(()){ ((nickname))。 ((icqno))。 ((ip))。
點擊復制文檔內(nèi)容
化學相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1