一、寫在前面
這學期新開的JavaEE,使用socket做了一個聊天室,想着加一點自己的功能。傳輸文件流有點麻煩,於是就使用客戶端直接的約定,實現顯示圖片的功能,說明:圖片文件並未在socket中傳輸,而是使用的字符串約定,就像暗號,說什麼暗號,自己在自己的客戶端輸出圖片
二、設計思路
- 小明用基於socket通道做了一個實時聊天,實現了多客戶客戶端、服務端的實時通信,但是老師要求每個人都有自己的獨特功能........於是,小明想,創新是不可能創新的,那現在QQ的工鞥有什麼能夠移植的呢,,,小明效果了一圈,發現大多功能都是基於文件傳輸,去找了一下socket的文件傳輸,果斷撂挑子。還有什呢,要不就自己客戶端約定好,特殊的字符串表示特殊操作,比如下面小明要舉個例子: 有兩個客戶端A、B,客戶端都是一模一樣的,裏面資源實現存放好10張圖片,並且約定:發送消息爲“@”的時候,這個字符串後邊會跟着一個數字,咱們兩個同時把數字代表編號的圖片輸出到聊天框,如 A發送給B:@ 那現在,兩個客戶端就會把3號圖片輸出到聊天框,造成發送的是圖片的假象
- 說幹就幹,先實現自己窗口判斷輸出圖片,在獲取於是先在獲取聊天輸入區文本時做判斷(我正添加表情按鈕,到時候就不用記住暗號了),在輸出相應編號圖片,欸不對啊,這個聊天信息展示區是個文本框啊,那就給改成面板,使用新建面板類,使用流式佈局規定佈局寬度(不然他會橫着輸出消息)然後是面板添加滾動條,然後再聊天區打出來就好了
三、代碼實現
QQ2905257286
突然想傳csdn下載了,聽說這玩意有回扣,恰個飯?
https://download.csdn.net/download/qq_41170600/12277060
四、配置說明
需要發的消息:現在,程序不是很完善,在客戶端發送一個@就可以顯示了大家可以當做工具類進行下一步開發