国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JAVA 的Socket機制

2019-11-18 12:13:00
字體:
來源:轉載
供稿:網友

  Socket機制用到的類有java.net.ServerSocket、java.net.Socket等。服務器端以監聽端口號和接受隊列長度為參數實例化ServerSocket類,缺省的隊列長度是50,以accept()方法接收客戶的連接。客戶端則直接以服務器的地址和監聽端口為參數實例化Socket類,連接服務器,缺省的連接方式是stream socket(區別于datagram socket)。
   服務器端和客戶端調用getInputStream()和getOutputStream()方法得到輸入/輸出流。假如以ObjectInputStream和ObjectOutputStream包裝Socket的輸入/輸出流,要注重一點,ObjectOutputStream類實例化時要向底層流寫入一個標識碼,ObjectInputStream類相應的讀入該標識碼,假如實例化的次序不當會引起死鎖。建議客戶服務器兩端都先實例化ObjectOutputStream。
   因為調用ServerSocket類的accept()方法和Socket輸入流的read()方法時會引起線程阻塞,所以應該用setSoTimeout()方法設置超時,缺省的設置是0,即超時永遠不會發生。超時的判定是累計式的,一次設置后,每次調用引起的阻塞時間都從該值中扣除,直至另一次超時設置或有超時異常拋出。比如,某種服務需要三次調用read(),超時設置為1分鐘,那么假如某次服務三次read()調用的總時間超過1分鐘就會有異常拋出,假如要在同一個Socket上反復進行這種服務,就要在每次服務之前設置一次超時。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 焦作市| 黔江区| 澄迈县| 客服| 新绛县| 文昌市| 茌平县| 东丰县| 甘德县| 易门县| 洞口县| 轮台县| 定远县| 资阳市| 阿图什市| 阿鲁科尔沁旗| 闵行区| 西峡县| 苍南县| 沈丘县| 巴林右旗| 芜湖县| 安福县| 图们市| 石城县| 丹东市| 元谋县| 都江堰市| 四川省| 宁波市| 林周县| 外汇| 页游| 阿克陶县| 长兴县| 绥滨县| 道真| 新和县| 镇雄县| 上虞市| 青海省|