網路編程,一開始學習的是Socket編程,這是最原始的網路編程,這個只需要在java虛擬機中運行服務端、客戶端程序就行了,通訊時模擬的。所以不需要聯網。不過,可以在區域網中進行測試。~
深入了就知道了~~呵呵·~
祝你成功哦~~
⑵ java網路編程是大端還是小端
網路傳輸中採用的大端標記法,也就是說先傳比較高權值的數字, 就像 12一樣,先傳10,在傳2,就算丟了後面一個,損失也不是太大。
小端就跟機器有關了。你在封裝一個int之類的數字,封裝進去之後就應該是大端的了,可以調用裡面的 htons() 或者htonl()函數來轉化成大端的(當然你也可以自己按照大端的方式封裝,就會麻煩一點而已)。傳輸過程中當然也是大端的,接受到的buffer裡面當然也是大端的,但是你在讀取這個int類型的時候,就需要相應的將大端轉化為小端了(採用ntohs() 函數或ntohl()函數來實現),這樣你讀取到的就是原來的數字。
可想而知,假如你用機器A和B通信,而且A和B的端序都是一樣的話,中間自然就不用轉換來轉換去了。但是這不是好習慣,因為假如移植到另外端序的機器的話就需要修改代碼笭害蒂轎酈計墊襲叮陋。所以最好還是用那幾個函數。
⑶ java網路技術編程
一、 客戶端網路編程步驟
客戶端(Client)是指網路編程中首先發起連接的程序,客戶端一般實現程序界面和基本邏輯實現,在進行實際的客戶端編程時,無論客戶端復雜還是簡單,以及客戶端實現的方式,客戶端的編程主要由三個步驟實現:
1、 建立網路連接
客戶端網路編程的第一步都是建立網路連接。在建立網路連接時需要指定連接到的伺服器的IP地址和埠號,建立完成以後,會形成一條虛擬的連接,後續的操作就可以通過該連接實現數據交換了。
2、 交換數據
連接建立以後,就可以通過這個連接交換數據了。交換數據嚴格按照請求響應模型進行,由客戶端發送一個請求數據到伺服器,伺服器反饋一個響應數據給客戶端,如果客戶端不發送請求則伺服器端就不響應。
根據邏輯需要,可以多次交換數據,但是還是必須遵循請求響應模型。
3、 關閉網路連接
在數據交換完成以後,關閉網路連接,釋放程序佔用的埠、內存等系統資源,結束網路編程。
最基本的步驟一般都是這三個步驟,在實際實現時,步驟2會出現重復,在進行代碼組織時,由於網路編程是比較耗時的操作,所以一般開啟專門的現場進行網路通訊。
二、伺服器端網路編程步驟
伺服器端(Server)是指在網路編程中被動等待連接的程序,伺服器端一般實現程序的核心邏輯以及數據存儲等核心功能。伺服器端的編程步驟和客戶端不同,是由四個步驟實現,依次是:
1、 監聽埠
伺服器端屬於被動等待連接,所以伺服器端啟動以後,不需要發起連接,而只需要監聽本地計算機的某個固定埠即可。
這個埠就是伺服器端開放給客戶端的埠,伺服器端程序運行的本地計算機的IP地址就是伺服器端程序的IP地址。
2、 獲得連接
當客戶端連接到伺服器端時,伺服器端就可以獲得一個連接,這個連接包含客戶端的信息,例如客戶端IP地址等等,伺服器端和客戶端也通過該連接進行數據交換。
一般在伺服器端編程中,當獲得連接時,需要開啟專門的線程處理該連接,每個連接都由獨立的線程實現。
3、 交換數據
伺服器端通過獲得的連接進行數據交換。伺服器端的數據交換步驟是首先接收客戶端發送過來的數據,然後進行邏輯處理,再把處理以後的結果數據發送給客戶端。簡單來說,就是先接收再發送,這個和客戶端的數據交換數序不同。
其實,伺服器端獲得的連接和客戶端連接是一樣的,只是數據交換的步驟不同。
當然,伺服器端的數據交換也是可以多次進行的。
在數據交換完成以後,關閉和客戶端的連接。
4、 關閉連接
當伺服器程序關閉時,需要關閉伺服器端,通過關閉伺服器端使得伺服器監聽的埠以及佔用的內存可以釋放出來,實現了連接的關閉。
其實伺服器端編程的模型和呼叫中心的實現是類似的,例如移動的客服電話10086就是典型的呼叫中心,當一個用戶撥打10086時,轉接給一個專門的客服人員,由該客服實現和該用戶的問題解決,當另外一個用戶撥打10086時,則轉接給另一個客服,實現問題解決,依次類推。
在伺服器端編程時,10086這個電話號碼就類似於伺服器端的埠號碼,每個用戶就相當於一個客戶端程序,每個客服人員就相當於伺服器端啟動的專門和客戶端連接的線程,每個線程都是獨立進行交互的。
這就是伺服器端編程的模型,只是TCP方式是需要建立連接的,對於伺服器端的壓力比較大,而UDP是不需要建立連接的,對於伺服器端的壓力比較小罷了。
⑷ 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)被開發出來,用來將容易記住的主機名(如www.12345.com)轉換成數字互聯網地址(如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網路編程的基礎知識、 套接字編程、非阻塞通信、創建HTTP伺服器與客戶程序、數據報通信、對象的序列化與反序列化、Java反射機制、RMI框架、JDBCAPI、JavaMail API、MVC設計模式、安全網路通信、CORBA和Web服務。
⑹ 一個最簡單的java網路編程
你好:Socket s = new Socket("localhost", 6660);//14行
這個的話,你的沒通, 去黑窗口輸入 tenlet 127.0.0.1 6660;看看是否有結果輸出,再就是你別用localhost了,換成實際的127.0.0.1的地址,
⑺ java網路編程的目錄
第一章 Java網路編程的原因
網路程序的功能
安全性
等等!還有更多!
第二章 基本網路概念
網路
網路的分層
IP、TCP和UDP
Internet
客戶/伺服器模型
Internet標准
第三章 基本Web概念
URI
HTML、SGML和XML
HTTP
MIME媒體類型
伺服器端程序
第四章 流
輸出流
輸人流
過濾器流
閱讀器和書寫器
第五章 線程
運行線程
返回線程中的信息
同步
死鎖
線程調度
線程池
第六章 查找Internet地址
InetAddress類
Inet4Address和Inet6Address
NetworkInterface類
一些有用的程序
第七章 U R L和U R I
URL類
URLEncoder和URLDecoder類
URI類
代理
通過GET方法與伺服器端程序通信
訪問受口令保護的網站
第八章 Swing中的HTM L
組件上的HTML
JEditorPane
解析HTML
coOkie一
第九章 客戶端Socket
socket基礎
用Telnet研究協議
Socket類
Socket異常
Socket地址
示例
第十章 伺服器socket
ServerSocket類
一些有用的伺服器
第十一章安全Socket
保護通信
創建安全客戶端socket
SsLSocket類的方法
創建安全的伺服器socket
SSLSerVerSocket類的方法
第十二章 非阻塞I/O。
一個示例客戶端
一個示例伺服器
緩沖區
通道
就緒選擇
第十三章 UDP數據報和Socket
UDP協議
DatagramPacket類
DatagramSocket類
一些有用的應用程序
DatagramChannel
第十四章 組播socket
何為組播socket?
使用組播socket
兩個簡單示例
第十五章 URLConnection
打開URLConnection
讀取伺服器的數據
讀取首部
配置連接
配置客戶端的請求HTTP首部
向伺服器寫入數據
內容處理器
0bject方法
URLConnection的安全考慮
猜測MIME內容類型
HttpURLCOnnectiOn
緩存
JarURLCOnnectiOn
第十六章 協議處理器
何為協議處理器7
URLStreamHandler類
編寫協議處理器
更多協議處理器示例和技術
URLStreamHandlerFactory介面
第十七章 內容處理器
何為內容處理器7
ContentHandler類
ContentHandlerFactory介面
FITS圖片格式的內容處理器
第十八 章遠程方法調用
何為遠程方法調用7
實現
在運行時載入類
java rmi包
jaVarmiregistry包
javarmiserver包
第十九章 JavaMailAPI
何為JavaMail API?
發送電子郵件一
接收郵件
口令認證
地址一
URLName類
Message類
Part介面
多部分消息和附件
MIME消息
文件夾
……