Java中的Socket分為普通的Socket和NioSocket。
普通Socket的用法 |
Java中的網(wǎng)絡(luò)通信時(shí)通過Socket實(shí)現(xiàn)的,Socket分為ServerSocket和Socket兩大類,ServerSocket用于服務(wù)器端,可以通過accept方法監(jiān)聽請(qǐng)求,監(jiān)聽請(qǐng)求后返回Socket,Socket用于完成具體數(shù)據(jù)傳輸,客戶端也可以使用Socket發(fā)起請(qǐng)求并傳輸數(shù)據(jù)。ServerSocket的使用可以分為三步:
創(chuàng)建ServerSocket。ServerSocket的構(gòu)造方法有5個(gè),其中最方便的是ServerSocket(int port),只需要一個(gè)port就可以了。
調(diào)用創(chuàng)建出來的ServerSocket的accept方法進(jìn)行監(jiān)聽。accept方法是阻塞方法,也就是說調(diào)用accept方法后程序會(huì)停下來等待連接請(qǐng)求,在接受請(qǐng)求之前程序?qū)⒉粫?huì)繼續(xù)執(zhí)行,當(dāng)接收到請(qǐng)求后accept方法返回一個(gè)Socket。
使用accept方法返回的Socket與客戶端進(jìn)行通信
如下代碼,我們?cè)诜?wù)器端創(chuàng)建ServerSocket,并調(diào)用accept方法監(jiān)聽Client的請(qǐng)求,收到請(qǐng)求后返回一個(gè)Socket。