導航:首頁 > 編程語言 > javaxsocket

javaxsocket

發布時間:2021-03-05 14:30:50

java socket怎麼與websocket對接

這個問題問抄的不是很專業!准襲確的說,應該是java如何開發一個websocket協議的服務端程序js前端對接!因為java socket不是一種協議,他是tcp的實現,而websocket則是一種協議(類似與HTTP,但與其不完全相同).至於實現方式,在tomcat7中的自帶的javax打頭的jar包中,就有對於websocket的支持,如果你創建了一個web項目,並且引用了tomcat7的server runtime,那麼你可以直接對一個編寫好的類進行改造成一個websocket的服務端!

比如:

@ServerEndpoint("/wsdemo")//此處指定訪問地址,記得埠為tomcat配置的埠,即ws://localhost:8080/projectName/wsdemo
publicclassWsDemo{

@OnMessage//直接加註釋即可//其他的OnError等類似的
publicvoidOnMessage(xxxEventevent){//單詞忘了....
event.getBaseRemote().sendText("");//向客戶端發送信息
}

}

㈡ java的socket一般是做什麼用的呀

遠程數據傳輸。通過IP點對點傳輸數據。

㈢ java中的socket編程是作什麼的

Socket,又稱為套接字,Socket是計算機網路通信的基本的技術之一。如今大多數基於網路的回軟體,如瀏覽器,即答時通訊工具甚至是P2P下載都是基於Socket實現的。本文會介紹一下基於TCP/IP的Socket編程,並且如何寫一個客戶端/伺服器程序。
方法/步驟

Java中的socket編程 下面的部分將通過一些示例講解一下如何使用socket編寫客戶端和伺服器端的程序。 注意:在接下來的示例中,我將使用基於TCP/IP協議的socket編程,因為這個協議遠遠比UDP/IP使用的要廣泛。並且所有的socket相關的類都位於java.net包下,所以在我們進行socket編程時需要引入這個包。

寫入數據 接下來就是寫入請求數據,我們從客戶端的socket對象中得到OutputStream對象,然後寫入數據後。很類似文件IO的處理代碼

打開伺服器端的socket

讀取數據 通過上面得到的socket對象獲取InputStream對象,然後安裝文件IO一樣讀取數據即可。這里我們將內容列印出來。

使用socket實現一個回聲伺服器,就是伺服器會將客戶端發送過來的數據傳回給客戶端。

㈣ 關於java的socket和serverSocket的通信

只有一個地方錯了.是客戶端那裡.
System.out.println("get mes:"+din.readUTF());
dout.writeUTF("hello Server");
把以上兩句的位置換過來就好了.
你的伺服器啟動之後一直在等待客戶端發送消息
System.out.println("ip: "+s.getInetAddress()+" mes: "+din.readUTF());///接受客戶端信息
你應該是先從客戶端發消息dout.writeUTF("hello Server");到伺服器
然後伺服器接收到之後再發消息到客戶端
dout.writeUTF("hello Client");///向客戶端放送消息
最後客戶端接收消息
System.out.println("get mes:"+din.readUTF());
但是你現在客戶端這兩句寫反了導致伺服器一直在等待客戶端的消息,而客戶端也在等待伺服器的消息.那它倆當然大眼瞪小眼對著等了.

㈤ javax.websocket.onclose;要哪個包

我下官方的tomcat7.0.62就有websocket-api.jar
如果你用的是tomcat7,那麼部署的時候要把項目lib目錄下的websocket-api.jar刪除,因為tomcat已經有這個包了,重復了雖然不報錯,但是運行的時候沒效果。。。親測
如果用tomcat8,重復了無所謂。我弄了半天才發現這兩個版本的區別。。
所以tomcat7直接引用外部包websocket-api.jar而不是復制到lib目錄,tomcat8就可以復制到lib目錄下
如果是maven項目的話把依賴作用域改為provided
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
如果不是maven,打包時去掉websocket-api.jar,因為tomcat中已經有了,有時servlet-api也會有這個現象,錯誤信息相當扯,什麼HttpservletRequest不能轉換成HttpservletRequest,其實是因為你的請求到tomcat,他會轉成自己包下面的對象,版本沖突後就這樣了

㈥ JAVA Socket 底層是怎樣基於TCP/IP 實現的

首先必須明確:TCP/IP模型中有四層結構: 應用層(Application Layer)、傳輸層(Transport Layer)、網路層(Internet Layer
)、鏈路層(LinkLayer)
其中Ip協議(Internet Protocol)是位於網路層的,TCP協議時位於傳輸層的。通過Ip協議可以使可以使兩台計算機使用同一種語言,從而允許Internet上連接不同類型的計算機和不同操作系統的網路。Ip協議只保證計算機能夠接收和發送分組數據。當計算機要和遠程的計算機建立連接時,TCP協議會讓他們建立連接:用於發送和接收數據的虛擬電路。

套接字或插座(socket)是一種軟體形式的抽象,用於表達兩台機器間一個連接的「終端」。針對一個特定的連接,每台機器上都有一個「套接字」,可以想像它們之間有一條虛擬的「線纜」。JAVA
有兩個基於數據流的套接字類:ServerSocket,伺服器用它「偵聽」進入的連接;Socket,客戶端用它初始一次連接。偵聽套接字只能接收新的連接請求,不能接收實際的數據包,即ServerSocket不能接收實際的數據包。
套接字是基於TCP/IP實現的,它是用來提供一個訪問TCP的服務介面,或者說套接字socket是TCP的應用編程介面API,通過它應用層就可以訪問TCP提供的服務。
在JAVA中,我們用 ServerSocket、Socket類創建一個套接字連接,從套接字得到的結果是一個InputStream以及OutputStream對象,以便將連接作為一個IO流對象對待。通過IO流可以從流中讀取數據或者寫數據到流中,讀寫IO流會有異常IOException產生。

㈦ Java中Socket 現在還用的多麼

依然有,這個問題比較空泛,socket是比較底層的,然後往上是ftp和http協議通信
這三個都版有用,權用的地方不同,socket還有兩種方式:一種udp(無連接),一種tcp/ip(有鏈接)c,c#c++等基本很多語言都有socket通信,不同語言之間只要你喜歡都能用socket(因為協議一樣)

㈧ Java之Socket與HTTP區別

這個是網上轉的,相互學習,樓主可以看看。
Java之Socket與HTTP區別
我們都知道/IP協議共分四層:
① 鏈路層,有時也稱作數據鏈路層或網路介面層,通常包括操作系統中的設備驅動程序和計算機中對應的網路介面卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理介面細節。
② 網路層,有時也稱作互聯網層,處理分組在網路中的活動,例如分組的選路。在TCP/IP協議族中,網路層協議包括IP協議(網際協議),ICMP協議(internet互聯網控制報文協議),以及IGMP協議(internet組管理協議)。
③ 傳輸層,主要為兩台主機上的應用程序提供端到端的通信。在TCP/IP協議族中,有兩個互不相同的傳輸協議: TCP(傳輸控制協議)和UDP(用戶數據報協議)。 TCP為兩台主機提供高可靠性的數據通信。它所做的工作包括把應用程序交給它的數據分成合適的小塊交給下面的網路層,確認接收到的分組,設置發送最後確認分組的超時時鍾等。由於運輸層提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些細節。而另一方面, U D P則為應用層提供一種非常簡單的服務。它只是把稱作數據報的分組從一台主機發送到另一台主機,但並不保證該數據報能到達另一端。任何必需的可靠性必須由應用層來提供。 這兩種運輸層協議分別在不同的應用程序中有不同的用途,這一點將在後面看到。
④ 應用層,負責處理特定的應用程序細節。幾乎各種不同的TCP/IP實現都會提供下面這些通用的應用程序:Telnet 遠程登錄。FTP 文件傳輸協議。SMTP 簡單郵件傳送協議。SNMP 簡單網路管理協議。

我們在傳輸數據時,可以只使用(傳輸層)TCP/IP協議,但是那樣的話,如果沒有應用層,便無法識別數據內容,如果想要使傳輸的數據有意義,則必須使用到應用層協議,應用層協議有很多,比如HTTP、FTP、TELNET等,也可以自己定義應用層協議。WEB使用HTTP協議作應用層協議,以封裝HTTP文本信息,然後使用TCP/IP做傳輸層協議將它發到網路上。

<1>Socket是一個針對TCP和UDP編程的介面,你可以藉助它建立TCP連接等等。而TCP和UDP協議屬於傳輸層 。
而http是個應用層的協議,它實際上也建立在TCP協議之上(HTTP是轎車,提供了封裝或者顯示數據的具體形式;Socket是發動機,提供了網路通信的能力)。

<2>Socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個調用介面(API),通過Socket,我們才能使用TCP/IP協議。Socket的出現只是使得程序員更方便地使用TCP/IP協議棧而已,是對TCP/IP協議的抽象,從而形成了我們知道的一些最基本的函數介面。

下面是一些的重要的概念,特在此做摘抄和總結。
一。什麼是TCP連接的三次握手
第一次握手:客戶端發送syn包(syn=j)到伺服器,並進入SYN_SEND狀態,等待伺服器確認;
第二次握手:伺服器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時伺服器進入SYN_RECV狀態;
第三次握手:客戶端收到伺服器的SYN+ACK包,向伺服器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和伺服器進入ESTABLISHED狀態,完成三次握手。
握手過程中傳送的包里不包含數據,三次握手完畢後,客戶端與伺服器才正式開始傳送數據。理想狀態下,TCP連接一旦建立,在通信雙方中的任何一方主動關閉連接之前,TCP 連接都將被一直保持下去。斷開連接時伺服器和客戶端均可以主動發起斷開TCP連接的請求,斷開過程需要經過「四次握手」(過程就不細寫了,就是伺服器和客戶端交互,最終確定斷開)
二。利用Socket建立網路連接的步驟
建立Socket連接至少需要一對套接字,其中一個運行於客戶端,稱為ClientSocket ,另一個運行於伺服器端,稱為ServerSocket 。
套接字之間的連接過程分為三個步驟:伺服器監聽,客戶端請求,連接確認。
1。伺服器監聽:伺服器端套接字並不定位具體的客戶端套接字,而是處於等待連接的狀態,實時監控網路狀態,等待客戶端的連接請求。
2。客戶端請求:指客戶端的套接字提出連接請求,要連接的目標是伺服器端的套接字。為此,客戶端的套接字必須首先描述它要連接的伺服器的套接字,指出伺服器端套接字的地址和埠號,然後就向伺服器端套接字提出連接請求。
3。連接確認:當伺服器端套接字監聽到或者說接收到客戶端套接字的連接請求時,就響應客戶端套接字的請求,建立一個新的線程,把伺服器端套接字的描述發給客戶端,一旦客戶端確認了此描述,雙方就正式建立連接。而伺服器端套接字繼續處於監聽狀態,繼續接收其他客戶端套接字的連接請求。
三。HTTP鏈接的特點
HTTP協議即超文本傳送協議(Hypertext Transfer Protocol ),是Web聯網的基礎,也是手機聯網常用的協議之一,HTTP協議是建立在TCP協議之上的一種應用。
HTTP連接最顯著的特點是客戶端發送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連接。從建立連接到關閉連接的過程稱為「一次連接」。
四。TCP和UDP的區別
1。TCP是面向鏈接的,雖然說網路的不安全不穩定特性決定了多少次握手都不能保證連接的可靠性,但TCP的三次握手在最低限度上(實際上也很大程度上保證了)保證了連接的可靠性;而UDP不是面向連接的,UDP傳送數據前並不與對方建立連接,對接收到的數據也不發送確認信號,發送端不知道數據是否會正確接收,當然也不用重發,所以說UDP是無連接的、不可靠的一種數據傳輸協議。
2。也正由於1所說的特點,使得UDP的開銷更小數據傳輸速率更高,因為不必進行收發數據的確認,所以UDP的實時性更好。

知道了TCP和UDP的區別,就不難理解為何採用TCP傳輸協議的MSN比採用UDP的QQ傳輸文件慢了,但並不能說QQ的通信是不安全的,因為程序員可以手動對UDP的數據收發進行驗證,比如發送方對每個數據包進行編號然後由接收方進行驗證啊什麼的,即使是這樣,UDP因為在底層協議的封裝上沒有採用類似TCP的「三次握手」而實現了TCP所無法達到的傳輸效率。

㈨ java中socket有什麼用

在客戶/伺服器通信模式中, 客戶端需要主動創建與伺服器連接的 Socket(套接字), 伺服器端回收到了客戶端的連接請求答, 也會創建與客戶連接的 Socket. Socket可看做是通信連接兩端的收發器, 伺服器與客戶端都通過 Socket 來收發數據.

閱讀全文

與javaxsocket相關的資料

熱點內容
解放了的中國電影 瀏覽:658
97不用下載播放器的電影 瀏覽:624
韓國一個男的和一個男的坐著聊天是什麼電影 瀏覽:60
騰達u1在linux 瀏覽:925
香港絕版愛情片 瀏覽:585
名城廣場電影院 瀏覽:714
向飛雪糕給你吃是哪部電影 瀏覽:114
想找主播帶貨如何知道數據真假 瀏覽:122
韓國電影 理發師 瀏覽:740
xp升級win7下載 瀏覽:3
同款app都有哪些 瀏覽:244
男主外號叫撒旦的小說 瀏覽:382
導航APK升級文件 瀏覽:216
看未上映電影的網站 瀏覽:693
蘋果解壓有密碼的文件 瀏覽:521
5g視頻網站都有哪些 瀏覽:551
尹美麗還演過什麼 瀏覽:650
抗日奇俠之終極任務演員表 瀏覽:628
電影短片網 瀏覽:646
日本的電影大全免費看中文版 瀏覽:188

友情鏈接