亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java編程實現基于TCP協議的Socket聊天室示例

2024-07-13 10:17:31
字體:
來源:轉載
供稿:網友

本文實例講述了Java編程實現基于TCP協議的Socket聊天室。分享給大家供大家參考,具體如下:

這里使用Socket套接字進行編程,完成的是基于TCP可靠服務實現服務器與客戶端的雙通信。

Server服務器端:

package com.han;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.*;import java.net.*;import javax.swing.JDialog;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;/** * 本程序實現了一個TCP程序的服務器編程部分。 * 使用Socket套接字進行編程,完成的是基于TCP可靠服務實現與客戶端的雙通信。 * 客戶端的編程見本包中的類Client * @author HAN * */@SuppressWarnings("serial")public class Server extends JDialog{  private BufferedReader reader;  private PrintWriter writer;  private ServerSocket server;  private Socket socket;  private JTextArea ta=new JTextArea();  private JScrollPane sp=new JScrollPane(ta);  private JTextField tf=new JTextField();  Container cc;  public Server(String title) {    setTitle(title);    addWindowListener(new WindowAdapter() {      public void windowClosing (WindowEvent we) {        dispose(); //撤銷dialog一切相關資源        System.exit(0); //正常退出程序      }    });    cc=getContentPane();    setLayout(null);    ta.setLineWrap(true);    ta.setEditable(false);    sp.setBounds(0,0,300,342);    tf.setBounds(0,342,300,25);    cc.add(sp);    cc.add(tf);    tf.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        try {          writer=new PrintWriter(socket.getOutputStream(),true);        } catch (IOException e1) {          // TODO Auto-generated catch block          e1.printStackTrace();        }        writer.println(tf.getText());        ta.append("User1:"+tf.getText()+'/n');        tf.setText("");      }    });  }  void getserver(){    try{      server=new ServerSocket(8998);      ta.append("服務器套接字已經創建成功/n");      while(true){        ta.append("等待客戶機的連接/n");        socket=server.accept();        ta.append("客戶機已連接/n");        reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));        getClientMessage();      }    }catch(Exception e){      e.printStackTrace();    }  }  private void getClientMessage(){    try {      while(true){        String news=reader.readLine();        if(news!=null){          ta.append("User2:"+news+"/n");        }else{          ta.append("User2(客戶端) 已斷開鏈接/n");          break;        }      }    } catch (IOException e) {      // TODO Auto-generated catch block      e.printStackTrace();    }    try{      if(reader!=null){        reader.close();      }    } catch (IOException e) {      // TODO Auto-generated catch block      e.printStackTrace();    }    if(socket!=null){      try {        socket.close();      } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();      }    }  }  public static void main(String[] args) {    Server user1=new Server("User1");    user1.setBounds(0,0,300,400);    user1.setResizable(false);    user1.setVisible(true);    user1.getserver();  }}

Client客戶端:

package com.han;import java.awt.*;import java.awt.event.*;import java.io.*;import java.net.*;import javax.swing.*;/** * 本程序實現了一個TCP程序的客戶端編程部分。 * 使用Socket套接字進行編程,完成的是基于TCP可靠服務實現與服務器的雙通信。 * 服務器的編程見本包中的類Server * 可以在不同的平臺與不同的機器上運行,只是要把代碼中寫的IP地址修改為運行服務器程序Server的機器的IP地址。 * @author HAN * */@SuppressWarnings("serial")public class Client extends JDialog{  private BufferedReader reader;  private PrintWriter writer;  private Socket socket;  private JTextArea ta=new JTextArea();  private JScrollPane sp=new JScrollPane(ta);  private JTextField tf=new JTextField();  Container cc;  public Client(String title) {    setTitle(title);    addWindowListener(new WindowAdapter() {      public void windowClosing (WindowEvent we) {        dispose(); //撤銷dialog一切相關資源        System.exit(0); //正常退出程序      }    });    cc=getContentPane();    setLayout(null);    ta.setLineWrap(true);    ta.setEditable(false);    sp.setBounds(0,0,300,342);    tf.setBounds(0,342,300,25);    cc.add(sp);    cc.add(tf);    tf.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        writer.println(tf.getText());        ta.append("User2:"+tf.getText()+'/n');        tf.setText("");      }    });  }  private void connect(){    ta.append("嘗試連接/n");    try {      socket=new Socket("192.168.1.3",8998);    } catch (UnknownHostException e) {      // TODO Auto-generated catch block      e.printStackTrace();    } catch (IOException e) {      // TODO Auto-generated catch block      e.printStackTrace();    }    try {      writer=new PrintWriter(socket.getOutputStream(),true);    } catch (IOException e) {      // TODO Auto-generated catch block      e.printStackTrace();    }    ta.append("完成連接/n");  }  private void getClientMessage(){    try {      reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));      while(true){        String news=reader.readLine();        if(news!=null){          ta.append("User1:"+news+"/n");        }else{          ta.append("User1(服務器) 已斷開鏈接,等待服務器重連之時,重啟User2(客戶端)進行通信/n");          break;        }      }    } catch (IOException e) {      // TODO Auto-generated catch block      ta.append("User1(服務器) 已斷開鏈接,等待服務器重連之時,重啟User2(客戶端)進行通信/n");      e.printStackTrace();    }    try{      if(reader!=null){        reader.close();      }    } catch (IOException e) {      // TODO Auto-generated catch block      e.printStackTrace();    }    if(socket!=null){      try {        socket.close();      } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();      }    }  }  public static void main(String[] args) {    Client user2=new Client("User2");    user2.setBounds(0,0,300,400);    user2.setVisible(true);    user2.setResizable(false);    user2.connect();    user2.getClientMessage();  }}

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
奇米4444一区二区三区| 日韩欧美极品在线观看| 国产精品人成电影在线观看| www.日韩视频| 国产精品一区二区久久久| 亚洲成人av资源网| 欧美猛交免费看| 日韩中文字幕精品| 亚洲美女黄色片| 欧美在线视频观看免费网站| 欧美在线视频导航| 国产一区二区三区高清在线观看| xxx欧美精品| 欧美精品在线观看| 亚洲精品av在线| 97av视频在线| 亚洲人成网站免费播放| 久久久久久久影视| 中文字幕日韩高清| 欧美日韩在线免费观看| 久久综合伊人77777| 亚洲精品美女在线观看播放| 91在线直播亚洲| 国产成人一区二区在线| 亚洲va欧美va国产综合久久| 国产免费一区二区三区在线观看| 亚洲伊人久久大香线蕉av| 日韩视频在线观看免费| 亚洲天堂男人天堂女人天堂| 美女久久久久久久久久久| 91色琪琪电影亚洲精品久久| 性色av一区二区三区在线观看| 亚洲精品久久久久久久久久久久| 亚洲国产精品成人av| 久久理论片午夜琪琪电影网| 国产精品旅馆在线| 国产精品电影网站| 欧美一级大片视频| 亚洲美女在线视频| 国产精品久久久久久av福利软件| 日韩精品福利网站| 国产精品视频一区二区三区四| 亚洲欧美日韩中文视频| www亚洲欧美| 91大神在线播放精品| 97精品久久久中文字幕免费| 欧美大胆在线视频| 国产在线拍揄自揄视频不卡99| 亚洲一区二区三区777| 日韩激情视频在线播放| 国内精品美女av在线播放| 国产精品99久久久久久久久久久久| 97碰在线观看| 美乳少妇欧美精品| 91九色单男在线观看| 国产精品狼人色视频一区| 日韩高清电影好看的电视剧电影| 久久久久久久影视| 自拍偷拍亚洲区| 日韩欧美国产一区二区| 欧美制服第一页| 国产精品久久久久久久久久小说| 日韩av中文字幕在线免费观看| 欧美成人在线影院| 久久精彩免费视频| 成人精品一区二区三区| 午夜精品久久久久久久白皮肤| 亚洲精品久久久久久久久| 国产精品久久久久国产a级| 欧美成人精品一区二区三区| 精品中文字幕久久久久久| 热久久美女精品天天吊色| 日韩电影中文字幕一区| 日本欧美在线视频| 国产精品精品视频一区二区三区| 青青草一区二区| 久久久国产精品x99av| 欧美专区中文字幕| 久久久视频精品| 久久精品视频在线| 久久久999国产精品| 久久天天躁狠狠躁夜夜av| 欧美一级电影免费在线观看| 97精品一区二区视频在线观看| 国产精品色午夜在线观看| 97在线看免费观看视频在线观看| 亚洲在线视频福利| 亚洲精品久久久久中文字幕欢迎你| 亚洲视频在线免费观看| 欧美色欧美亚洲高清在线视频| 欧洲精品毛片网站| 亚洲综合最新在线| 日韩电影免费观看中文字幕| 亚洲欧洲在线观看| 精品亚洲一区二区三区在线观看| 日本亚洲欧洲色α| 精品欧美国产一区二区三区| 日韩影视在线观看| 久久精品亚洲国产| 一夜七次郎国产精品亚洲| 777777777亚洲妇女| 成人妇女免费播放久久久| 国产午夜精品理论片a级探花| 欧美日韩国产精品一区| 91精品国产高清久久久久久91| 狠狠干狠狠久久| 欧洲亚洲免费在线| xvideos国产精品| 亚洲最大av在线| 国产欧美最新羞羞视频在线观看| 日韩欧美极品在线观看| 北条麻妃久久精品| 日本精品久久中文字幕佐佐木| 欧美性猛交xxxx久久久| 久久全国免费视频| 91成人福利在线| 久久久免费观看视频| 国产成人精品视频在线观看| 国产精品久久久久影院日本| 亚洲一区二区三区在线免费观看| 亚洲国产美女久久久久| 欧美黑人xxxⅹ高潮交| 精品欧美一区二区三区| 日韩在线激情视频| 亚洲欧美另类自拍| 一区二区三区美女xx视频| 8x拔播拔播x8国产精品| 亚洲精品xxxx| 中文字幕综合在线| 国产精品无av码在线观看| 国产精品福利观看| 午夜精品视频在线| 日韩精品视频三区| 亚洲国产精品推荐| 黄色成人av在线| 日韩欧美国产免费播放| 亚洲91精品在线观看| 69久久夜色精品国产7777| 成人性生交大片免费观看嘿嘿视频| 欧美亚洲午夜视频在线观看| 亚洲一区二区自拍| 久久精品小视频| 国产精品无av码在线观看| 欧美精品电影免费在线观看| 91欧美精品午夜性色福利在线| 91精品在线播放| 日韩中文字幕在线免费观看| 国产在线视频一区| 欧美国产精品va在线观看| 国产精品国产三级国产aⅴ浪潮| 久久久久久久国产精品| 91天堂在线视频| 欧美性20hd另类| 亚洲精品资源美女情侣酒店| 国产精品成人一区二区三区吃奶| 亚洲综合视频1区| 中文日韩在线观看| 91免费欧美精品| 午夜精品一区二区三区在线播放| 欧美自拍视频在线观看| 懂色aⅴ精品一区二区三区蜜月| 日本91av在线播放| 激情久久av一区av二区av三区| 亚洲女性裸体视频|