本文目錄一覽:
- 1、java是網路編程語言嗎
- 2、什麼是Java網路編程
- 3、java網路編程應該怎樣在客戶端和伺服器間實現通信?
- 4、jave是什麼?
- 5、Java網路編程基本概念是什麼?
- 6、java網路編程包含些什麼
java是網路編程語言嗎
java是跨平台編程語言,java可以用於網路編程比如java中的servlet、jsp、ssh框架和ejb都是用於網路應用程序開發的比如網站開發等等;如果你指的是純粹的網路編程比如QQ通信軟體這種,java亦可以搞定,java有強大的網路編程類庫。
什麼是Java網路編程
網路編程主要是指網路通信,實現計算機與計算機之間的對話和文件傳輸等,就像QQ,飛秋,P2P點對點傳輸等等
java網路編程應該怎樣在客戶端和伺服器間實現通信?
以前寫的,照貼了。。。伺服器端:import java.awt.*;\x0d\x0aimport java.awt.event.WindowAdapter;\x0d\x0aimport java.awt.event.WindowEvent;\x0d\x0aimport java.io.*;\x0d\x0aimport java.net.*;/*6、 採用UDP協議,編寫一個Java網路應用程序,該應用分伺服器端程序和客戶端程序兩部分。\x0d\x0a* 客戶端指定一個伺服器上的文件名,讓伺服器發回該文件的內容,或者提示文件不存在。\x0d\x0a* (20分)(服務端程序和客戶端程序分別命名為Server.java和Client.java)*/\x0d\x0apublic class N4BT6 extends Frame\x0d\x0a{\x0d\x0aDatagramSocket socket ;\x0d\x0aDatagramPacket packet ;byte[] buf ;\x0d\x0aFile file ;\x0d\x0aFileInputStream input;\x0d\x0aString message = “該文件不存在”;\x0d\x0aTextArea text;\x0d\x0apublic N4BT6(String title)\x0d\x0a{\x0d\x0asuper(title);\x0d\x0atext = new TextArea(6,4);\x0d\x0aadd(text);\x0d\x0asetSize(400, 300);\x0d\x0asetVisible(true);\x0d\x0aaddWindowListener(new WindowAdapter()\x0d\x0a{\x0d\x0apublic void windowClosing(WindowEvent e)\x0d\x0a{\x0d\x0adispose();\x0d\x0a}\x0d\x0a});\x0d\x0a\x0d\x0abuf = new byte[1024];\x0d\x0atry\x0d\x0a{\x0d\x0asocket = new DatagramSocket(1230);\x0d\x0apacket = new DatagramPacket(buf, buf.length);\x0d\x0asocket.receive(packet);\x0d\x0afile = new File(new String(packet.getData()));\x0d\x0asocket = new DatagramSocket();\x0d\x0a} \x0d\x0acatch (Exception e)\x0d\x0a{e.printStackTrace();\x0d\x0a}\x0d\x0a\x0d\x0aif(file.exists())\x0d\x0a{\x0d\x0atry\x0d\x0a{\x0d\x0abuf = new byte[(int)file.length()];\x0d\x0apacket = new DatagramPacket(buf,buf.length,InetAddress.getLocalHost(),1234);\x0d\x0ainput = new FileInputStream(file);\x0d\x0ainput.read(buf);\x0d\x0asocket.send(packet);\x0d\x0a}\x0d\x0acatch (IOException e) \x0d\x0a{\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a}\x0d\x0aelse\x0d\x0a{\x0d\x0atry\x0d\x0a{\x0d\x0apacket = new DatagramPacket(message.getBytes(),message.getBytes().length,\x0d\x0aInetAddress.getLocalHost(),1234);\x0d\x0asocket.send(packet);\x0d\x0a}\x0d\x0acatch (Exception e) \x0d\x0a{\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a}\x0d\x0apublic static void main(String[] args)\x0d\x0a{\x0d\x0anew N4BT6(“Server”);\x0d\x0a}\x0d\x0a}\x0d\x0a客戶端:import java.awt.*;\x0d\x0aimport java.awt.event.*;\x0d\x0aimport java.net.DatagramPacket;\x0d\x0aimport java.net.DatagramSocket;\x0d\x0aimport java.net.InetAddress;public class N4BT6_2 extends Frame\x0d\x0a{\x0d\x0aTextArea text;\x0d\x0aString message = “Q.txt”;\x0d\x0aDatagramSocket socket ;\x0d\x0aDatagramPacket packet;\x0d\x0abyte[] buf;\x0d\x0apublic N4BT6_2(String title)\x0d\x0a{\x0d\x0asuper(title);\x0d\x0atext = new TextArea(6,4);\x0d\x0aadd(text);\x0d\x0asetSize(400, 300);\x0d\x0asetVisible(true);\x0d\x0aaddWindowListener(new WindowAdapter()\x0d\x0a{\x0d\x0apublic void windowClosing(WindowEvent e)\x0d\x0a{\x0d\x0adispose();\x0d\x0a}\x0d\x0a});\x0d\x0atry\x0d\x0a{\x0d\x0a\x0d\x0asocket = new DatagramSocket();\x0d\x0apacket = new DatagramPacket(message.getBytes(),message.getBytes().length,\x0d\x0aInetAddress.getLocalHost(),1230);\x0d\x0asocket.send(packet);\x0d\x0a}\x0d\x0acatch (Exception e) \x0d\x0a{\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a\x0d\x0atry\x0d\x0a{\x0d\x0abuf = new byte[1024];\x0d\x0asocket = new DatagramSocket(1234);\x0d\x0apacket = new DatagramPacket(buf,buf.length);\x0d\x0asocket.receive(packet);\x0d\x0atext.append(new String(buf));\x0d\x0a}\x0d\x0acatch (Exception e) \x0d\x0a{\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a}\x0d\x0apublic static void main(String[] args)\x0d\x0a{\x0d\x0anew N4BT6_2(“Client”);\x0d\x0a}\x0d\x0a}
jave是什麼?
jave是網路編程語言。
Java是一個廣泛使用的網路編程語言,它是一種新的計算概念。Java為運行在移動和嵌入式設備上的應用程序提供了一個強大靈活的環境:手機、機頂盒、藍光播放器、數字媒體設備、M2M 模塊、印表機以及其他設備。
Java ME 技術最初創建用於處理與為小型設備構建應用程序有關的約束。出於此目的,Oracle 定義了 Java ME 技術的基礎以適應如此有限的環境,讓其能夠創建在內存、顯示器和功率有限的小型設備上運行的 Java 應用程序。
jave的魯棒性:
Java在編譯和運行程序時 ,都要對可能出現的問題進行檢查 ,以消除錯誤 的產生。它提供自動垃圾收集來進行內存管理,防止程序員在管理內存時容易 產生的錯誤。
通過集成的面向對象的例外處理機制 ,在編譯時,Java提示出可能 出現但未被處理的例外 ,幫助程序員正確地進行選擇以防止系統的崩潰。另外,Java在編譯時還可捕獲類型聲明中的許多常見錯誤 ,防止動態運行時不匹配問題 的出現。
Java網路編程基本概念是什麼?
1、Java網路編程基本概念——主機的網路層
主機網路層定義特定網路介面(如乙太網或WiFi天線)如何通過物理連接將IP數據報發送到本地網路或世界其他地方。在主機網路層中,連接不同計算機的硬體部分(電纜、光纖、無線電波或煙霧信號)有時被稱為網路的物理層。Java程序員不需要擔心這一層,除非出現錯誤,例如計算機後面的插頭脫落或有人切斷了您與外部世界之間的T-1線。換句話說,Java將永遠看不到物理層。
2、Java網路編程基本概念——網路層
Internet層的下一層是主機網路層,這是Java程序員需要考慮的第一層。網際網路層協議定義了數據位和位元組如何組織成更大的組,稱為包,也定義了不同計算機互相查找的定址機制。Internet Protocol (IP)是世界上使用最廣泛的Internet層協議,也是Java唯一了解的Internet層協議。
網際網路協議基本上是兩種協議:IPV4使用32位地址,IPV6使用128位地址,並增加了技術特性來幫助路由。這是兩種完全不同的網路協議,如果沒有特殊的網關/隧道協議,它們甚至不能在同一網路上互操作,但是Java向您隱藏了幾乎所有這些差異。
除了路由和定址之外,網際網路層的第二個作用是使不同類型的主機網路層能夠彼此對話。網際網路路由器在WiFi和乙太網、乙太網和DSL、DSL和光纖往返協議之間進行交換。沒有網際網路層或類似的分層,每台計算機只能與同一類型網路上的其他計算機通信。網際網路層負責使用適當的協議將異類網路彼此連接起來。
3、Java網路編程基本概念——傳輸層
原始數據報有一些缺點。最明顯的缺點是無法保證可靠的傳輸,即使可以保證,也可能在傳輸過程中被損壞。頭檢查只能檢測頭中的損壞,而不能檢測數據報的數據部分。最後,即使數據報沒有損壞地到達了它的目的地,它也可能不能按照發送的順序到達。
傳輸層負責確保按發送的順序接收數據包,確保沒有數據丟失或銷毀。如果數據包丟失,傳輸層要求發送方重新傳輸該數據包。為此,IP網路向每個數據報添加了一個額外的頭,其中包含更多信息。
這個級別有兩個主要協議。第一個是傳輸控制協議(TCP),這是一個昂貴的協議,允許丟失或損壞的數據按照發送順序重新傳輸。第二個協議是用戶數據報協議(User Datagram Protocol, UDP),它允許接收方檢測損壞的數據包,而不保證它們按照正確的順序發送(或者根本不發送)。然而,UDP通常比TCP快。TCP被稱為可靠協議。UDP是不可靠的。
4、Java網路編程基本概念——應用程序層
向用戶交付數據的層稱為應用層。以下三個層定義如何將數據從一台計算機傳輸到另一台計算機。應用層決定數據傳輸後的操作。有HTTP為用戶Web, SMTP, POP, IMAP為用戶電子郵件;FSP, TFTP用於文件傳輸,NFS用於文件訪問;文件共享使用Gnutella和BitTorrent;會話發起協議(SIP)和Skype用於語音通信。此外,您的程序可以在必要時定義自己的應用程序級協議。(頁面)
5、Java網路編程基本概念——IP、TCP、UDP
IP被設計成允許任意兩點之間有多條路由,繞過損壞的路由器來路由數據包。由於兩點之間有多條路由,而且由於網路流量或其他因素,它們之間的最短路徑可能會隨著時間而變化,因此構成特定數據流的數據包可能不會走同一條路由。即使它們全部到達,也可能不是按照它們被發送的順序到達的。為了改進這一基本機制,TCP被放置在IP上,以便連接的兩端可以確認收到的IP數據包,並請求重傳丟失或損壞的數據包。此外,TCP允許接收端上的數據包按照發送的順序重新分組。
然而,TCP有很多開銷。因此,如果單個數據包的丟失不會完全破壞數據,那麼可以使用UDP發送數據包,而不需要TCP提供的保證。UDP是一種不可靠的協議。它不能保證信息包將到達它們的目的地,或者它們將以它們被發送的相同順序到達。
6、Java網路編程基本概念——IP地址和域名
IPv4網路上的每台計算機都有一個4位元組的數字ID。通常在一個點上以四段格式寫,比如192.1.32.90,每個數字是一個無符號位元組,範圍從0到255。IPv4網路上的每台計算機都有一個唯一的四段地址。當數據通過網路傳輸時,包的報頭包括要發送到的機器的地址(目的地址)和要發送到的機器的地址(源地址)。路由上的路由器通過檢查目的地址來選擇發送包的最佳路徑。包含源地址是為了讓收件人知道該對誰進行回復。
雖然計算機可以很容易地處理數字,但人類並不擅長記住它們。因此,域名系統(DNS)被開發出來,用來將容易記住的主機名(如)轉換成數字互聯網地址(如208.201.243.99)。當Java程序訪問網路時,它們需要同時處理數字地址和相應的主機名。這些方法由java.net.InetAddress類提供。
7、Java網路編程基本概念——港口
如果每台計算機一次只做一件事,地址就足夠了。但是現代計算機同時做許多不同的事情。電子郵件需要與FTP請求分開,而FTP請求也需要與Web通信分開。這是通過埠完成的。具有IP地址的每台計算機有數千個邏輯埠(確切地說,每個傳輸層協議有65,535個埠)。這些只是計算機內存中的抽象,不代表任何物理對象,不像USB埠。每個埠在1到65535之間進行數字標識。每個埠可以分配給一個特定的服務。
8、Java網路編程基本概念——一個防火牆
在互聯網上有一些頑皮的人。要排除它們,通常需要在本地網路上設置一個接入點,並檢查進出該接入點的所有流量。位於網際網路和本地網路之間的一些硬體和軟體會檢查所有輸入和輸出的數據,以確保它是防火牆。防火牆通常是路由器的一部分,它將本地網路連接到更大的網際網路,並可以執行其他任務,如網路地址轉換。另外,防火牆可以是單獨的機器。防火牆仍然主要負責檢查進出其網路介面的數據包,根據一組規則接收或拒絕數據包。
本篇《什麼是Java網路編程基本概念?看完這篇文章你一定可以明白》到這裡就已經結束了,小編一直認為,某一個編程軟體受歡迎是有一定原因的,首先吸引人的一定是其功能,環球網校的小編祝您java學習之路順利,如果你還想知道更多java知識,也可以點擊本站的其他文章進行學習。
java網路編程包含些什麼
針對網路通信的不同層次,Java提供的網路功能有四大類:InetAddress 、URLs、Sockets、Datagram
1、InetAddress面向的是網路層(IP層),用於標識網路上的硬體資源。
2、 URL面向的應用層,通過URL,Java程序可以直接送出或讀入網路上的數據。
3、 Sockets和Datagram面向的則是傳輸層。Sockets使用的是TCP協議,這是傳統網路程序最常用的方式,可以想像為兩個不同的程序通過網路的通信信道進行通信。Datagram則使用UDP協議,是另一種網路傳輸方式,它把數據的目的地紀錄在數據包中,然後直接放在網路上。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237510.html