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)儲存文字每行資料,分割文字每一行資料(每一行分割成書號,書名,價格等資訊等等,