1. 程式人生 > >java 簡單的區域網聊天(帶介面)Server

java 簡單的區域網聊天(帶介面)Server

一個簡單的區域網聊天,網路程式設計基礎應用。伺服器端。


<span style="font-size:18px;">import javax.swing.*;
import java.io.*;
import java.net.*;
import java.awt.event.*;
public class MyServer3 extends JFrame implements ActionListener{


<span style="white-space:pre">	</span>JTextArea jta=null;
<span style="white-space:pre">	</span>JTextField jtf=null;
<span style="white-space:pre">	</span>JPanel jp1=null;
<span style="white-space:pre">	</span>JButton jb1=null;
<span style="white-space:pre">	</span>JScrollPane jsp=null;
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>//把資訊發給客戶端的物件
<span style="white-space:pre">	</span>PrintWriter pw=null;
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>public static void main(String[] args) {
<span style="white-space:pre">		</span>// TODO Auto-generated method stub
<span style="white-space:pre">		</span>MyServer3 ms3=new MyServer3();
<span style="white-space:pre">	</span>}


<span style="white-space:pre">	</span>public MyServer3(){
<span style="white-space:pre">		</span>jta=new JTextArea();
<span style="white-space:pre">		</span>jsp=new JScrollPane(jta);
<span style="white-space:pre">		</span>jtf=new JTextField(20);
<span style="white-space:pre">		</span>jb1=new JButton("傳送");
<span style="white-space:pre">		</span>jb1.addActionListener(this);
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>jp1=new JPanel();
<span style="white-space:pre">		</span>jp1.add(jtf);
<span style="white-space:pre">		</span>jp1.add(jb1);
<span style="white-space:pre">		</span>this.add(jsp,"Center");
<span style="white-space:pre">		</span>this.add(jp1, "South");
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>this.setSize(400,300);
<span style="white-space:pre">		</span>this.setVisible(true);
<span style="white-space:pre">		</span>this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
<span style="white-space:pre">		</span>this.setTitle("伺服器");
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>try {
<span style="white-space:pre">			</span>//伺服器監聽
<span style="white-space:pre">			</span>ServerSocket ss=new ServerSocket(9999);
<span style="white-space:pre">			</span>this.jta.setText("伺服器啟動\r\n");
<span style="white-space:pre">			</span>//等待客戶端連結
<span style="white-space:pre">			</span>Socket s=ss.accept();
<span style="white-space:pre">			</span>this.jta.append("客戶端已連線!\r\n");
<span style="white-space:pre">			</span>
<span style="white-space:pre">			</span>InputStreamReader isr=new InputStreamReader(s.getInputStream());
<span style="white-space:pre">			</span>BufferedReader br=new BufferedReader(isr);
<span style="white-space:pre">			</span>
<span style="white-space:pre">			</span>pw=new PrintWriter(s.getOutputStream(),true);
<span style="white-space:pre">			</span>//讀取從客戶端傳送的訊息
<span style="white-space:pre">			</span>while(true)
<span style="white-space:pre">			</span>{
<span style="white-space:pre">				</span>String info=br.readLine();
<span style="white-space:pre">				</span>jta.append("————————客戶端————————\r\n"+info+"\r\n");
<span style="white-space:pre">			</span>}
<span style="white-space:pre">			</span>
<span style="white-space:pre">		</span>} catch (Exception e) {
<span style="white-space:pre">			</span>// TODO: handle exception
<span style="white-space:pre">			</span>e.printStackTrace();
<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public void actionPerformed(ActionEvent e) {
<span style="white-space:pre">		</span>// TODO Auto-generated method stub
<span style="white-space:pre">		</span>if(e.getSource()==jb1)
<span style="white-space:pre">		</span>{
<span style="white-space:pre">			</span>//把伺服器在jtf中的資訊傳送給客戶端
<span style="white-space:pre">			</span>String info=jtf.getText();
<span style="white-space:pre">			</span>jta.append("————————伺服器————————\r\n"+info+"\r\n");
<span style="white-space:pre">			</span>pw.println(":"+info);
<span style="white-space:pre">			</span>//清空傳送框
<span style="white-space:pre">			</span>jtf.setText("");
<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>}
}</span>

相關推薦

java 簡單區域網聊天介面Server

一個簡單的區域網聊天,網路程式設計基礎應用。伺服器端。 <span style="font-size:18px;">import javax.swing.*; import java.io.*; import java.net.*; import java.

java下載檔案案例原始碼

前言: web開發中上傳和下載是最基本的內容了。前幾天寫了一篇上傳的案例,今天總結一下下載。 案例說明: 1.本案例是使用myeclipse編寫 2.需要下載的檔案存放的 /download_demo/WebRoot/WEB-INF/attac

java 日期選擇器時間

import java.awt.BorderLayout; import java.awt.Color; import java.awt.Cursor; import java.awt.Dimension; import java.awt.FlowLayo

2018.4.28 基於java聊天系統完善

group false com opera listen nec xtend imp 選擇 Java聊天系統 1.Socket類 Socket(InetAddress address, int port) 創建一個流套接字並將其連接到指定 IP 地址的指定端口號。 S

java簡單計算器swing介面

      其實這玩意兒是我之前寫的東西了。今天寫android的卡在了sin,cos的處理上。。。實在無聊便更了一下。       首先宣告一下,這是我學java寫的第一個東西(準確是2.0版本),所以比較簡陋。大家湊合湊合。       之後,這個版本功能很少

java Socket實現簡單線上聊天

接《Java Socket實現簡單線上聊天(一)》,在單客戶端連線的基礎上,這裡第二步需要實現多客戶端的連線,也就需要使用到執行緒。每當有一個新的客戶端連線上來,服務端便需要新啟動一個執行緒進行處理,從而解決之前的迴圈讀取中造成阻塞的問題。 寫執行緒通常有兩種方法,整合T

Java 用Freemarker完美導出word文檔圖片

編輯 for exceptio orm exist mar delet dateutil config Java 用Freemarker完美導出word文檔(帶圖片) 前言 最近在項目中,因客戶要求,將頁面內容(如合同協議)導出成word,在網上翻了好多,感覺太亂了,不過

java基礎數組基礎排序法

當前位置 組類型 維數 can color int() i++ 整型 二維 數組是一種數據結構,用來儲存同一類型值的集合 1.數組需要先聲明數組類型(即儲存的數據類型)如:int [] a; 其中int是數組類型[]代表一維數組a代表數組名。 2.創建數組a:

java基礎學習總結十五:抽象類與介面

       抽象類與介面是java語言中對抽象概念進行定義的兩種機制,正是由於他們的存在才賦予java強大的面向物件的能力。他們兩者之間對抽象概念的支援有很大的相似,甚至可以互換,但是也有區別。  一、抽象類    &n

java點外賣系統介面

把這幾天學的做一個綜合性應用,做了一個小型訂餐的系統,用到了面向物件的思想、靜態的特性、集合框架中的ArrayList和HashMap對物件的儲存以及操作、異常處理。 專案總共包含四個檔案,分別是選單類、訂單類、操作類、Main 選單資訊儲存與操作 /** * Create

JAVA網路程式設計實戰應用——雙向聊天執行緒

控制檯雙向聊天 Code Code 以下如果有些流不懂的話,看我之前關於IO流的文章 要先啟動服務端(Server),再啟動客戶端(Client) 必須要保證埠一致 Socket socket = new Socket(“lo

Java實現專案電影購票系統swing介面

       使用三層架構實現電影購票系統,分使用者和管理員,使用者功能:展示電影,查詢電影(模糊查詢),檢視電影詳情,查詢場次,購買影票,訂製座位,退訂影票等功能,介面美觀漂亮,邏輯嚴謹,附加電影評論功能,訂票超過五張打0.9折的打折功能。管理員功能:影院的增刪改查,場次的

JAVA必背面試題和專案面試通關要點答案

一 資料庫  1.常問資料庫查詢、修改(SQL查詢包含篩選查詢、聚合查詢和連結查詢和優化問題,手寫SQL語句,例如四個球隊比賽,用SQL顯示所有比賽組合;舉例2:選擇重複項,然後去掉重複項;) 資料庫裡的密碼如何加密(md5); (1)資料庫的密碼加密:單向加密,insert into u

java併發程式設計--java中的鎖Lock介面和佇列同步器AQS

public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.io.Serializable { //內部類--節點 static final clas

java移位運算子:符號右移和>>>無符號右移

1、 左移運算子   左移運算子<<使指定值的所有位都左移規定的次數。   1)它的通用格式如下所示:   value << num   num 指定要移位值value 移動的位數。   左移的規則只記住一點:丟棄最高位,0補最低位  

簡單版掃雷有頁面-java

首先設計一個二維陣列,用於存放雷和周圍八個格子雷的個數,再定義兩個變數,用於存放地雷個數和陣列大小。使用隨機資料生成雷,並給雷四周都新增1。加入JFrame ,實現點選按鈕判斷是否是雷,如果是雷提示失敗,遊戲結束import java.awt.BorderLayout;imp

Core Java (二十一) 對映表Map介面

對映表是一種資料結構,用於存放鍵值對。如果提供了鍵,就能查詢到值。 Map介面的方法: Modifier and Type Method and Description void clear() Removes all of the mappings from t

Java常見資料結構面試題答案

1.棧和佇列的共同特點是(只允許在端點處插入和刪除元素)4.棧通常採用的兩種儲存結構是(線性儲存結構和連結串列儲存結構)5.下列關於棧的敘述正確的是(D)     A.棧是非線性結構B.棧是一種樹狀結構C.棧具有先進先出的特徵D.棧有後進先出的特徵6.連結串列不具有的特點是(

簡單的直播禮物連刷特效製作原始碼

直播禮物連刷能有效的提升主播與使用者的互動,從而提升使用者刷禮物的數量,那現在咱們來做一個簡單的直播禮物連刷教程吧。 先貼出效果圖: 1. 首先從簡單的開始,文字描邊+連擊效果,這個比較簡單,只要重寫 UILabel 的 - (void)drawTextInRect:(

利用java實現基於文字的圖書管理系統介面

我覺得最難的一部分就是如何實現實現增刪改查 增加:使用write直接向檔案寫入資料即可 刪除:例如通過圖書號(x)找到圖書資料,刪除圖書資料。要想實現此功能,利用一個字元陣列(Arraylist)儲存文字每行資料,分割文字每一行資料(每一行分割成書號,書名,價格等資訊等等,