一、概述
Socket類是Java執(zhí)行客戶端TCP操作的基礎(chǔ)類,這個(gè)類本身使用代碼通過(guò)主機(jī)操作系統(tǒng)的本地TCP棧進(jìn)行通信。Socket類的方法會(huì)建立和銷毀連接,設(shè)置各種Socket選項(xiàng)。
ServerSocket類是Java執(zhí)行服務(wù)器端操作的基礎(chǔ)類,該類運(yùn)行于服務(wù)器,監(jiān)聽(tīng)入站TCP連接,每個(gè)socket服務(wù)器監(jiān)聽(tīng)服務(wù)器的某個(gè)端口,當(dāng)遠(yuǎn)程主機(jī)的客戶端嘗試連接此端口時(shí),服務(wù)器就被喚醒,并返回一個(gè)表示兩臺(tái)主機(jī)之間socket的正常Socket對(duì)象。
二、什么是TCP?
TCP是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。TCP通信分為客戶端和服務(wù)器端,對(duì)應(yīng)的對(duì)象是分別是Socket和ServerSocket。
當(dāng)一臺(tái)計(jì)算機(jī)需要與另一臺(tái)遠(yuǎn)程計(jì)算機(jī)連接時(shí),TCP協(xié)議會(huì)讓他們建立一個(gè)連接:用于發(fā)送和接收數(shù)據(jù)的虛擬鏈路。TCP協(xié)議負(fù)責(zé)收集信息包,并將其按適當(dāng)?shù)拇涡蚍藕脗魉停诮邮斩耸盏胶笤賹⑵湔_的還原。為了保證數(shù)據(jù)包在傳送中準(zhǔn)確無(wú)誤,TCP使用了重發(fā)機(jī)制:當(dāng)一個(gè)通信實(shí)體發(fā)送一個(gè)消息給另一個(gè)通信實(shí)體后需要收到另一個(gè)實(shí)體的確認(rèn)信息,如果沒(méi)有收到確認(rèn)信息,則會(huì)再次重發(fā)剛才發(fā)送的信息。
三、TCP通信
1、構(gòu)造函數(shù)
Socket類實(shí)現(xiàn)客戶端套接字,通過(guò)構(gòu)造函數(shù)可以指定希望連接的主機(jī)和端口。主機(jī)可以指定為InetAddress或String,端口始終指定為0到65535之間的int值。
Socket s=new Socket("127.0.0.1", 10001);//創(chuàng)建一個(gè)流套接字并將其連接到指定主機(jī)上的指定端口號(hào)
名稱欄目:Java網(wǎng)絡(luò)編程之TCP通信完整代碼示例-創(chuàng)新互聯(lián)
瀏覽路徑:http://chinadenli.net/article18/dihddp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、面包屑導(dǎo)航、虛擬主機(jī)、服務(wù)器托管、外貿(mào)建站、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容