伺服器端
server = new serversocket(18811);//18811為埠號
這樣就可以建立好乙個socket服務端
socket socket = server.accept();//accept()阻塞型獲取客戶端連線方式
in = new inputstreamreader(socket.getinputstream());//封裝socket輸入流
out = new outputstreamwriter(socket.getoutputstream());//封裝輸出流
獲取客戶端傳送來的訊息
阻塞型socekt連線時要寫死迴圈多執行緒來獲取客戶端傳送的訊息
char tmp = new
char[2048];
int len = 0;
inputstreamreader in = new inputstreamreader(socket.getinputstream());
if ((len = in.read(tmp)) != -1)
}}
傳送給客戶端訊息
out.write("");//輸出流寫入內容
out.flush();//重新整理輸出流.不重新整理就得遇見/n /t等標識才可以輸出或是斷開連線才可輸出
多個socket客戶端連線時可以寫死迴圈獲取socket物件,將socket物件執行緒寫入集合中
在集合中進行輸入輸出流的操作
伺服器沒辦法知道客戶端是否還在連線狀態
(網上的心跳包或者是一些判斷操作大部分進行了嘗試失敗,暫時只有給客戶端傳送訊息時丟擲異常時結束socket連線)
//結束socket連線
in.close();
out.close();
socket.close();
spring和socket伺服器使用時socekt如果要在專案啟動時啟動的話
則
"servessocket" class="com.qintang.medlab.iotservers.serversini" init-method="start" lazy-init="true" >
//可以載入乙個bean
//socket伺服器啟動時多執行緒需要載入service控制器介面時可以使用
import org.springframework.beans.bean***ception;
public
private
@override
public
void
throws bean***ception
public
static object getbean(string name)
}//然後在spring xml配置檔案中在伺服器啟動前載入乙個bean
"springcontexthelper"class="**.**.**.util.springcontexthelper">
//在使用的時候
bean = (iotdevicedao) springcontexthelper.getbean("iotdevicedao");
可以看看的**
第一次使用crontab linux選擇編輯器問題
第一次使用crontab linux選擇編輯器問題 第一次使用crontab 時,會出現 no crontab for root using an empty one select a editor 下面有幾個選項,就是叫你選擇編輯器。選vim 就可以了,我選的第三個。但是如果你選錯了,就可能會遇到...
第一次使用
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...
第一次使用
test 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展示 ...