使用javasocket怎么實(shí)現(xiàn)一個(gè)聊天小程序-創(chuàng)新互聯(lián)

這篇文章給大家介紹使用javasocket怎么實(shí)現(xiàn)一個(gè)聊天小程序,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

上虞網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,上虞網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為上虞成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的上虞做網(wǎng)站的公司定做!

服務(wù)器

package demo04;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.DataInputStream;import java.io.DataOutputStream;import java.net.ServerSocket;import java.net.Socket;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.ScrollPaneConstants;public class ownServer { public static void main(String[] args) { // TODO Auto-generated method stub new Server().launch(); }}class Server{ JFrame frame; JTextArea taArea; JTextField tfField; JButton sbButton; DataInputStream read ; DataOutputStream write; ServerSocket scServerSocket;  Socket socket;  public void launch() { CreateUI(); CreateNetWork(); new ServerWrite().start(); new ServerRead().start(); }  public void CreateUI() { frame = new JFrame("MM Server"); JPanel Panle = new JPanel(); taArea = new JTextArea(15,25); taArea.setLineWrap(true); taArea.setWrapStyleWord(true); taArea.setEditable(true); JScrollPane qScroller=newJScrollPane(taArea);  qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);          qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); tfField = new JTextField(20); sbButton = new JButton("發(fā)送"); Panle.add(qScroller); Panle.add(tfField); Panle.add(sbButton);     frame.getContentPane().add(BorderLayout.CENTER,Panle);    frame.setSize(400,400);    frame.setVisible(true);  } public void close() { try {  write.close();  read.close();  socket.close();  scServerSocket.close(); } catch (Exception e) {  System.exit(-1); } }  public void CreateNetWork() {    try {   scServerSocket =new ServerSocket(7780);  socket= scServerSocket.accept();  read = new DataInputStream(socket.getInputStream());  write = new DataOutputStream(socket.getOutputStream());    System.out.print("網(wǎng)絡(luò)連接");  } catch (Exception e) {  // TODO: handle exception  e.printStackTrace(); }  } class ServerRead extends Thread{ public void run() {   while (true) {   try {   String message = read.readUTF();   taArea.append("對(duì)方:"+message+ "\n");  } catch (Exception e1) {  // TODO: handle exception  JOptionPane.showMessageDialog(taArea, "提示: 服務(wù)端已經(jīng)斷開連接");    //e.printStackTrace();  //System.exit(-1);  return ;  }    } } }class ServerWrite extends Thread{  public void run() {  tfField.addActionListener(new ServerListen());  sbButton.addActionListener(new ServerListen()); } } class ServerListen implements ActionListener{ @Override public void actionPerformed(ActionEvent e) {  try {  String str = tfField.getText();  tfField.setText("");  taArea.append("我: " + str + "\n");  write.writeUTF(str);    } catch (Exception e2) {  // TODO: handle exception  e2.printStackTrace();  } }  } }

客戶端

package demo04;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.DataInputStream;import java.io.DataOutputStream;import java.net.Socket;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.ScrollPaneConstants;public class ownClient { public static void main(String[] args) { // TODO Auto-generated method stub new Client().launch(); }}class Client{ JTextArea taArea; JTextField tfField; JButton sbButton; DataInputStream read = null; DataOutputStream write = null; Socket socket; public void launch() { CreateUI(); CreatNetWork(); new ClientRead().start();; new ClientWrite().start();; } public void CreateUI() { JFrame frame = new JFrame("MM Client"); JPanel Panle = new JPanel(); taArea = new JTextArea(15,25); taArea.setLineWrap(true); taArea.setWrapStyleWord(true); taArea.setEditable(true); JScrollPane qScroller = new JScrollPane(taArea); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);  tfField = new JTextField(20); sbButton = new JButton("發(fā)送");  Panle.add(qScroller); Panle.add(tfField); Panle.add(sbButton);       frame.getContentPane().add(BorderLayout.CENTER,Panle);    frame.setSize(400,400);    frame.setVisible(true); } public void CreatNetWork() { // TODO Auto-generated method stub try {  socket = new Socket("127.0.0.1",7780);  write = new DataOutputStream(socket.getOutputStream());  read = new DataInputStream(socket.getInputStream());  System.out.print("已建立網(wǎng)絡(luò)連接"); } catch (Exception e) {  // TODO: handle exception  e.printStackTrace(); } } class ClientRead extends Thread{  public void run() {    while (true) {   try {   String message= read.readUTF();   taArea.append("對(duì)方:"+message+ "\n");    } catch (Exception e1) {  // TODO: handle exception  JOptionPane.showMessageDialog(taArea, "提示: 客戶端已經(jīng)斷開連接");    //e.printStackTrace();  //System.exit(-1);  return ;  }     } } }  class ClientWrite extends Thread{  public void run() {    tfField.addActionListener(new ClientListen());  sbButton.addActionListener(new ClientListen());  } }  class ClientListen implements ActionListener{ @Override public void actionPerformed(ActionEvent e) {  try {    String str = tfField.getText();  tfField.setText("");  taArea.append("我: " + str + "\n");  write.writeUTF(str);    } catch (Exception e2) {  // TODO: handle exception  e2.printStackTrace();  } }  } }

關(guān)于使用javasocket怎么實(shí)現(xiàn)一個(gè)聊天小程序就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

文章標(biāo)題:使用javasocket怎么實(shí)現(xiàn)一個(gè)聊天小程序-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://bm7419.com/article16/dseogg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)響應(yīng)式網(wǎng)站、網(wǎng)站策劃、定制網(wǎng)站、搜索引擎優(yōu)化、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)