亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? server.java

?? java設計的聊天系統
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.Vector;
class ServerThread extends Thread{//繼承線程
private Socket socket;//定義套接口
private BufferedReader in;//定義輸入流
private PrintWriter out;//定義輸出流
int no;//定義申請的jicq號碼
public ServerThread(Socket s) throws IOException {//線程構造函數
   socket=s;//取得傳遞參數
  in=new BufferedReader(new InputStreamReader(socket.getInputStream()));//創建輸入流
  out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);//創建輸出流
   start();//啟動線程
   }

public void run(){//線程監聽函數
 try{ while(true){
                    String str=in.readLine();//取得輸入字符串
                    if(str.equals("end"))break;//如果是結束就關閉連接
       else if(str.equals("login")) {//如果是登錄
          try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//連接數據庫
         Connection c=DriverManager.getConnection("jdbc:odbc:javaicq"," "," ");
         String sql="select nickname,password from icq where icqno=?";                                                               
           //準備從數據庫選擇呢稱和密碼                                                            
  PreparedStatement prepare=c.prepareCall(sql);//設定數據庫查尋條件
          String icqno=in.readLine();
                int g=Integer.parseInt(icqno);//取得輸入的jicq號碼
                 System.out.println(icqno);
                 String passwd=in.readLine().trim();//取得輸入的密碼
                 System.out.println(passwd);
                 prepare.clearParameters();
                 prepare.setInt(1,g);//設定參數
                 ResultSet r=prepare.executeQuery();//執行數據庫查尋
                 if(r.next()){//以下比較輸入的號碼于密碼是否相同
                     String pass=r.getString("password").trim();
                     System.out.println(pass);
                     if(passwd.regionMatches(0,pass,0,pass.length()))
{ out.println("ok");
//如果相同就告訴客戶ok
//并且更新數據庫用戶為在線
//以及注冊用戶的ip 地址
                      //*************register ipaddress
                      String setip="update icq set ip=? where icqno=?";
                      PreparedStatement prest=c.prepareCall(setip);
                      prest.clearParameters();
                      prest.setString(1,socket.getInetAddress().getHostAddress());
                      prest.setInt(2,g);
                      int set=prest.executeUpdate();
                      System.out.println(set);
                      //*************ipaddress
                      //set status online
                      String status="update icq set status=1 where icqno=?";
                      PreparedStatement prest2=c.prepareCall(status);
                       prest2.clearParameters();
                       prest2.setInt(1,g);
                       int set2=prest2.executeUpdate();
                      System.out.println(set2);
                      //set online
}
//否者告訴客戶失敗
                      else out.println("false");r.close();c.close();}
                 else{ out.println("false");
                 System.out.println("false");
                r.close();
                c.close();}
                }catch (Exception e){e.printStackTrace();}
                socket.close();
                }//end login
             //登錄結束
  //以下為處理客戶的新建請求    
else  if(str.equals("new")){
   try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//連接數據庫
        Connection c2=DriverManager.getConnection("jdbc:odbc:javaicq"," "," ");
String newsql="insert into icq(nickname,password,email,info,place,pic) values(?,?,?,?,?,?)";
//準備接受用戶的呢稱,密碼,email,個人資料,籍貫,頭像等信息
       PreparedStatement prepare2=c2.prepareCall(newsql);
       String nickname=in.readLine().trim();
       String password=in.readLine().trim();
       String email=in.readLine().trim();
       String info=in.readLine().trim();
       String place=in.readLine().trim();
       int picindex=Integer.parseInt(in.readLine());
       prepare2.clearParameters();
       prepare2.setString(1,nickname);
       prepare2.setString(2,password);
       prepare2.setString(3,email);
       prepare2.setString(4,info);
       prepare2.setString(5,place);
       prepare2.setInt(6,picindex);
       int r3=prepare2.executeUpdate();//執行數據庫添加
String sql2="select icqno from icq where nickname=?";
//以下告訴客戶其注冊的號碼
       PreparedStatement prepare3=c2.prepareCall(sql2);
        prepare3.clearParameters();
       prepare3.setString(1,nickname);
       ResultSet r2=prepare3.executeQuery();
     while(r2.next()){
      //out.println(r2.getInt(1));
      no=r2.getInt(1);
      System.out.println(no);
     }
      out.println(no);
      out.println("ok");
c2.close();
//完畢
     }catch (Exception e){e.printStackTrace();out.println("false");}
     socket.close();
   }//end new
//新建用戶結束
//以下處理用戶查找好友
else if(str.equals("find")){
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection c3=DriverManager.getConnection("jdbc:odbc:javaicq"," "," ");
  //以下連接數據庫,并且返回其他用戶的呢稱,性別,籍貫,個人資料等信息
     String find="select nickname,sex,place,ip,email,info from icq";
    Statement st=c3.createStatement();
    ResultSet result=st.executeQuery(find);
     while(result.next()){
     out.println(result.getString("nickname"));
     out.println(result.getString("sex"));
     out.println(result.getString("place"));
     out.println(result.getString("ip"));
      out.println(result.getString("email"));
       out.println(result.getString("info"));
     }//while end
     out.println("over");
     ////////GET ICQNO
     int d,x;
boolean y;
//以下返回用戶的jicq號碼,頭像號,及是否在線
     ResultSet iset=st.executeQuery("select icqno,pic,status from icq");
     while(iset.next()){
     d=iset.getInt("icqno");
     out.println(d);
     x=iset.getInt("pic");//pic info
     out.println(x);
     y=iset.getBoolean("status");
      if (y){out.println("1");}
           else {out.println("0");}
      //System.out.println(d);
     }
    // end send jicqno
     iset.close();
     /////////icqno end
      c3.close();result.close();
}catch (Exception e){e.printStackTrace();System.out.println("false");}
//socket.close();
}//end find
//查找好友結束
//以下處理用戶登錄時讀取其好友資料
else if(str.equals("friend")){
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection c4=DriverManager.getConnection("jdbc:odbc:javaicq"," "," ");
//以下連接好友表,返回用戶的好友名單
     String friend="select friend from friend where icqno=?";
     PreparedStatement prepare4=c4.prepareCall(friend);
        prepare4.clearParameters();
         int icqno=Integer.parseInt(in.readLine());
         System.out.println(icqno);
         prepare4.setInt(1,icqno);
       ResultSet r4=prepare4.executeQuery();
       Vector friendno=new Vector();//該矢量保存好友號碼
        while(r4.next()){
      friendno.add(new Integer(r4.getInt(1)));
     }
//read friend info
//以下告訴客戶其好友的呢稱,號碼,ip地址,狀態,頭像,個人資料等信息
    out.println(friendno.size());
          for(int i=0;i<friendno.size();i++){
         String friendinfo="select nickname,icqno,ip,status,pic,email,info from icq where icqno=?";
      PreparedStatement prepare5=c4.prepareCall(friendinfo);
      prepare5.clearParameters();
       prepare5.setObject(1,friendno.get(i));
      ResultSet r5=prepare5.executeQuery();
      boolean status;
         while(r5.next()){
       out.println(r5.getString("nickname"));
           out.println(r5.getInt("icqno"));
           out.println(r5.getString("ip"));
         status=r5.getBoolean("status");
         if (status)out.println("1");
           else {out.println("0");}
        out.println(r5.getInt("pic"));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品精品国产自在97香蕉| 国产亚洲污的网站| 亚洲综合区在线| 欧美网站大全在线观看| 亚洲综合小说图片| 欧美一区二区视频在线观看2022 | 国内精品视频666| 欧美成人综合网站| 九色porny丨国产精品| 精品人伦一区二区色婷婷| 国产伦理精品不卡| 中文字幕在线不卡国产视频| 色婷婷久久99综合精品jk白丝| 亚洲美女区一区| 欧美一区二区性放荡片| 国产成人aaa| 一区二区高清视频在线观看| 欧美福利一区二区| 国产99久久久久久免费看农村| 国产精品电影院| 欧美日韩免费观看一区三区| 狠狠色狠狠色综合系列| 国产精品福利一区二区三区| 欧美日韩美少妇| 岛国精品在线播放| 亚洲大片精品永久免费| 精品日本一线二线三线不卡| www.色精品| 蜜臀久久久99精品久久久久久| 中文字幕av资源一区| 欧美三级在线播放| 国产精品99久久久久久久女警 | eeuss鲁一区二区三区| 一区二区国产盗摄色噜噜| 精品国产乱码久久久久久久久 | 亚洲夂夂婷婷色拍ww47| 日韩你懂的在线播放| 9久草视频在线视频精品| 麻豆精品视频在线观看视频| 中文字幕一区二区三区四区| 欧美成人免费网站| 欧美性做爰猛烈叫床潮| 国产精品系列在线观看| 蜜臀国产一区二区三区在线播放| 国产日韩欧美不卡| 日韩欧美一级二级| 在线看国产一区二区| 国产精品亚洲第一| 麻豆久久久久久久| 亚洲成人免费在线观看| 中文字幕中文乱码欧美一区二区| 日韩手机在线导航| 欧美视频一区在线| 99久久婷婷国产综合精品电影| 国产一区二区毛片| 三级不卡在线观看| 18欧美亚洲精品| 国产丝袜在线精品| 久久综合狠狠综合| 欧美电视剧免费全集观看| 欧美日韩一区二区三区不卡| 91免费版pro下载短视频| 国产激情一区二区三区桃花岛亚洲| 午夜不卡av免费| 亚洲va欧美va人人爽午夜| 一区二区三区四区不卡在线| 中文字幕在线不卡一区| 国产欧美一区二区三区鸳鸯浴| 欧美成人a∨高清免费观看| 3d动漫精品啪啪1区2区免费 | 777奇米成人网| 欧美吞精做爰啪啪高潮| 91日韩在线专区| 91日韩一区二区三区| 91免费视频网址| 91浏览器打开| 欧美婷婷六月丁香综合色| 欧美网站大全在线观看| 欧美日韩成人一区二区| 在线观看91精品国产麻豆| 91麻豆精品国产91久久久久| 91精品国产色综合久久不卡蜜臀 | 免费在线观看精品| 精品一区免费av| 国产毛片精品视频| 成人精品鲁一区一区二区| 成人av先锋影音| 91伊人久久大香线蕉| 91网站最新地址| 欧美天天综合网| 欧美一区二区啪啪| 26uuu亚洲综合色欧美 | 日韩精品在线一区二区| 26uuu亚洲综合色欧美| 国产日产欧美精品一区二区三区| 国产精品污www在线观看| 亚洲精品写真福利| 天使萌一区二区三区免费观看| 偷拍日韩校园综合在线| 卡一卡二国产精品| 国产精品亚洲第一区在线暖暖韩国| 风间由美性色一区二区三区| 97精品视频在线观看自产线路二| 日本道免费精品一区二区三区| 欧洲av在线精品| 日韩精品一区二区三区视频| 国产日韩欧美制服另类| 一区二区在线观看免费| 日韩精品一级二级| 国产成人小视频| 欧美综合久久久| 久久先锋资源网| 玉米视频成人免费看| 美腿丝袜亚洲色图| a4yy欧美一区二区三区| 日韩欧美高清在线| 亚洲美女免费视频| 精品一区二区三区在线视频| 99这里只有精品| 日韩精品在线一区二区| 一区二区三区精品视频在线| 久久精品久久精品| 色婷婷综合久久久久中文一区二区| 日韩欧美一级二级三级久久久| 亚洲视频一区二区在线观看| 日本sm残虐另类| 91视视频在线观看入口直接观看www| 欧美男生操女生| 综合婷婷亚洲小说| 国产毛片精品国产一区二区三区| 欧美日韩日日摸| 国产精品理论在线观看| 老司机精品视频一区二区三区| 91浏览器入口在线观看| 国产日韩亚洲欧美综合| 久久9热精品视频| 欧美亚洲国产怡红院影院| 欧美激情在线观看视频免费| 日韩电影一区二区三区| 色播五月激情综合网| 亚洲国产精品ⅴa在线观看| 视频一区二区三区在线| 色8久久精品久久久久久蜜| 久久亚洲捆绑美女| 强制捆绑调教一区二区| 在线看不卡av| 亚洲精品欧美二区三区中文字幕| 懂色av中文一区二区三区| 日韩精品一区二区三区视频在线观看 | 亚洲免费毛片网站| 成人美女视频在线观看18| 欧美mv日韩mv| 免费在线看成人av| 欧美一区二区三区爱爱| 丝袜脚交一区二区| 欧美日韩成人一区二区| 亚洲成a人片在线不卡一二三区 | 欧美日韩免费电影| 一区二区国产视频| 色婷婷av一区二区三区软件| 国产精品伦一区二区三级视频| 国产精品99久久久久久久vr| 精品国产成人在线影院| 激情久久久久久久久久久久久久久久| 欧美精品久久久久久久多人混战 | 亚洲日本va午夜在线影院| 国产成人欧美日韩在线电影| 精品日韩99亚洲| 国产呦萝稀缺另类资源| 久久久久久久国产精品影院| 黄色精品一二区| 国产午夜精品理论片a级大结局| 国产精品一区二区在线看| 久久人人爽爽爽人久久久| 国产乱人伦精品一区二区在线观看 | 91麻豆精品91久久久久同性| 亚洲福利电影网| 欧美一级片在线观看| 蜜臀久久99精品久久久久久9| 日韩欧美另类在线| 高清不卡在线观看| 亚洲三级在线看| 欧美性三三影院| 老司机一区二区| 国产精品美女久久久久久久网站| 91在线无精精品入口| 亚洲成av人片在线观看无码| 欧美高清你懂得| 激情综合网天天干| 国产精品乱子久久久久| 日本二三区不卡| 免费观看91视频大全| 国产午夜久久久久| 91久久精品网| 六月丁香综合在线视频| 国产精品久久久爽爽爽麻豆色哟哟 | 成人污污视频在线观看| 亚洲精品免费在线播放| 欧美一二三区在线观看| 国产精品 欧美精品|