女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]一、Android網(wǎng)絡(luò)簡(jiǎn)介Android與服務(wù)器的通信方式主要有兩種,一種是Http通信,另一種是Socket通信。HTTP通信:Android中內(nèi)置HttpClient,這樣可以發(fā)方便的發(fā)送Http

一、Android網(wǎng)絡(luò)簡(jiǎn)介

Android與服務(wù)器的通信方式主要有兩種,一種是Http通信,另一種是Socket通信。

HTTP通信:Android中內(nèi)置HttpClient,這樣可以發(fā)方便的發(fā)送Http請(qǐng)求并獲取Http響應(yīng),簡(jiǎn)化了與網(wǎng)站之間的交互。

Socket通信:Android還支持JDK本身的TCP、UDP網(wǎng)絡(luò)通信的API,可以使用Java中提供的ServerSocket、Socket類,來建立基于TCP/IP協(xié)議的網(wǎng)絡(luò)通信。(本章主要講解TCP協(xié)議編程的相關(guān)內(nèi)容)也可以使用DatagramSocket、Datagrampacket、MulticastSocket來建立基于UDP協(xié)議的網(wǎng)絡(luò)通信。

兩者的區(qū)別:兩者的最大差異在于,Http連接使用的是“請(qǐng)求—響應(yīng)方式”,即在請(qǐng)求時(shí)建立連接通道,當(dāng)客戶端向服務(wù)器發(fā)送請(qǐng)求后,服務(wù)器端才能向客戶端返回?cái)?shù)據(jù)。而Socket通信則是在雙方建立起連接后就可以直接進(jìn)行數(shù)據(jù)的傳輸,在連接時(shí)可實(shí)現(xiàn)信息的主動(dòng)推送,而不需要每次由客戶端想服務(wù)器發(fā)送請(qǐng)求。

二、TCP協(xié)議基礎(chǔ)

TCP/IP通信協(xié)議是一種可靠的網(wǎng)絡(luò)協(xié)議,它在通信的兩端各建立一個(gè)Socket,從而在通信的兩端形成網(wǎng)絡(luò)虛擬鏈路。Java使用Socket對(duì)象來代表兩端的通信接口,并通過Socket產(chǎn)生IO流來進(jìn)行通信。

IP協(xié)議是Internet上使用的一個(gè)關(guān)鍵協(xié)議,它的全稱是Internet Protocol,即Internet協(xié)議,通常簡(jiǎn)稱IP協(xié)議。通過使用IP協(xié)議,使Internet成為一個(gè)允許連接不同類型的計(jì)算機(jī)和不同操作系統(tǒng)的網(wǎng)絡(luò)。

要使兩臺(tái)計(jì)算機(jī)彼此之間進(jìn)行通信,必須使兩臺(tái)計(jì)算機(jī)使用同一種“語言”,IP協(xié)議只保證計(jì)算機(jī)能發(fā)送和接收分組數(shù)據(jù)。IP協(xié)議負(fù)責(zé)將消息從一個(gè)主機(jī)傳送到另一個(gè)主機(jī),消息在傳送的過程中被分割成一個(gè)個(gè)小包。

TCP協(xié)議被稱作一種端對(duì)端協(xié)議,這是因?yàn)樗鼮閮膳_(tái)計(jì)算機(jī)之間的連接起了重要作用:當(dāng)一臺(tái)計(jì)算機(jī)需要與另一臺(tái)遠(yuǎn)程計(jì)算機(jī)連接時(shí),TCP協(xié)議會(huì)讓它們建立一個(gè)連接:用于發(fā)送和接收數(shù)據(jù)的虛擬鏈路。

通過這種重發(fā)機(jī)制,TCP協(xié)議向應(yīng)用程序提供可靠地通信連接,使它能夠自動(dòng)適應(yīng)網(wǎng)上的各種變化,即使在Internet暫時(shí)出現(xiàn)堵塞的情況下,TCP也能夠保證通信的可靠。

雖然IP和TCP這兩個(gè)協(xié)議的功能不盡相同,也可以分開單獨(dú)使用,但它們是在同一時(shí)期作為一個(gè)協(xié)議來設(shè)計(jì)的,并且在功能上也是互補(bǔ)的,只有兩者結(jié)合,才能保證Internet在復(fù)雜的環(huán)境下正常運(yùn)行,凡是要連接到Internet的計(jì)算機(jī),都必須同時(shí)安裝和使用這兩個(gè)協(xié)議,因此在實(shí)際中常把這兩個(gè)協(xié)議統(tǒng)稱為TCP/IP協(xié)議。

三、如何使用ServerSocket創(chuàng)建TCP服務(wù)器端:

Java中能接收其他通信實(shí)體連接請(qǐng)求的類是ServerSocket,ServerSocket對(duì)象用于監(jiān)聽來自客戶端的Socket連接,若沒有連接則它將一直處于等待狀態(tài)。其中監(jiān)聽來自客戶端請(qǐng)求的方法:Socket accept()。該方法若收到一個(gè)客戶端Socket的連接請(qǐng)求,該方法將返回一個(gè)與連接客戶端Socket對(duì)應(yīng)的Socket,否則將阻塞等待。代碼如:

ServerSocket socket = new ServerSocket(21300);

While(true){

Socket s = socket.accept();

}

四、使用Socket進(jìn)行通信

客戶端經(jīng)常使用Socket來連接到指定服務(wù)器,Socket類提供構(gòu)造器連接到指定遠(yuǎn)程主機(jī)和遠(yuǎn)程端口的構(gòu)造器,如:

Socket socket = new Socket(“192.168.1.11”,8000);

創(chuàng)建完畢Socket之后就可以進(jìn)行通信了。Socket提供了InputStream getInputStream()和OutputStream getOutputStream兩個(gè)方法來獲取輸入流和輸出流進(jìn)行數(shù)據(jù)的讀寫操作。例如:

while(true){

Socket socket = serversocket.accept();

OutputStream os = socket.getOutputStream();

os.write(“你好,我是服務(wù)器”.getBytes(“utf-8”));

os.close();

socket.close();

}

此時(shí),就可以進(jìn)行服務(wù)器與客戶端的讀寫操作了。但是考慮到簡(jiǎn)單C/S聊天室應(yīng)用的實(shí)現(xiàn),只了解這個(gè)是不夠的,需要加上多線程的才能使代碼變得完善。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)自動(dòng)化、汽車電子及物聯(lián)網(wǎng)領(lǐng)域,CANBUS總線因其高可靠性和實(shí)時(shí)性被廣泛應(yīng)用。然而,復(fù)雜電磁環(huán)境、機(jī)械振動(dòng)及配置不當(dāng)?shù)纫蛩爻?dǎo)致通信異常。本文基于實(shí)際工程案例,從硬件、協(xié)議、軟件及環(huán)境四大維度,系統(tǒng)梳理CANBUS...

關(guān)鍵字: CANBUS 網(wǎng)絡(luò)通信 CANBUS總線

其他電腦(比如安卓手機(jī)/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問一些東西。你可以使用android的USB OTG功能(是的,幾乎每個(gè)android都支持這個(gè)功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹莓派

Google 宣布與中國(guó) AR 科技公司 XREAL 達(dá)成深度戰(zhàn)略合作,聯(lián)合推出全球首款專為 Android XR 平臺(tái)打造的旗艦級(jí) AR 眼鏡 Project Aura。

關(guān)鍵字: Google XREAL Android XR眼鏡 AR

繼停止維護(hù)AOSP開源項(xiàng)目后,谷歌母公司Alphabet近日被曝在其安卓系統(tǒng)(Android)、Pixel手機(jī)以及Chrome瀏覽器等部門裁員數(shù)百人。這一舉措引發(fā)了業(yè)界的廣泛關(guān)注,也引發(fā)了對(duì)谷歌未來業(yè)務(wù)布局的諸多猜測(cè)。

關(guān)鍵字: 谷歌 AOSP Android 裁員

在本教程中,我們將使用Capacitor 6、Angular和TypeScript構(gòu)建一個(gè)Android應(yīng)用程序,該應(yīng)用程序通過串行端口連接到BleuIO USB加密狗。該應(yīng)用程序允許用戶直接從Android設(shè)備發(fā)送和接...

關(guān)鍵字: Android USB 電容器 BLE設(shè)備

早前媒體報(bào)道谷歌將停止維護(hù)Android開源項(xiàng)目(AOSP),將Android開發(fā)全面轉(zhuǎn)向內(nèi)部閉源分支,目前這一消息已經(jīng)得到谷歌官方確認(rèn)。

關(guān)鍵字: 谷歌 Android 開源

本項(xiàng)目演示了如何通過OTG (on - go) USB在Android設(shè)備上使用BleuIO USB加密狗作為串行端口。使用電容器6和@adeunis/電容器-串行插件,我們建立串行連接,發(fā)送AT命令,并實(shí)時(shí)讀取響應(yīng)。該...

關(guān)鍵字: 電容器 Android 傳感器 微控制器 嵌入式系統(tǒng)

在Linux操作系統(tǒng)中,Android Debug Bridge(ADB)是一個(gè)功能強(qiáng)大的命令行工具,它允許開發(fā)者在計(jì)算機(jī)和Android設(shè)備之間建立通信,從而進(jìn)行調(diào)試、管理、安裝應(yīng)用等操作。本文將詳細(xì)介紹在Linux系...

關(guān)鍵字: Linux系統(tǒng) Android Debug ADB

隨著Android操作系統(tǒng)的進(jìn)步,智能手機(jī)的使用日益增加。隨后,有報(bào)道稱,惡意個(gè)人和黑客利用 Android 提供的漏洞來訪問用戶珍視的數(shù)據(jù)。例如,此類威脅包括 2021 年針對(duì) Android 設(shè)備發(fā)布的 Flubot...

關(guān)鍵字: Android 惡意軟件
關(guān)閉