-
Socket通信實現步驟
創建ServerSocket和Socket
打開連接到Socket的輸入、輸出流
按照協議對Socket進行讀/寫操作
關閉輸入輸出流、關閉Socket
查看全部 -
Socket通信
TCP協議是面向連接的、可靠的、有序的,以字節流的方式發送數據
基于TCP協議實現網絡通信的類
客戶端的Socket類
服務器端的ServerSocket類
查看全部 -
InetAddress類
1、InteAddress類用于標識網絡上的硬件資源,表示互聯網協議(IP)地址。
查看全部 -
IP地址和端口號組成了所謂的Socket,Socket是網絡上運行的程序之間雙向通信鏈路的終結點,是TCP和UDP的基礎。
http:80? ftp:21 telnet:23
查看全部 -
Socket編程
1.網絡基礎知識
2.InetAddress類
3.URL
4.TCP編程
5.UDP編程
兩臺計算機通過網絡進行通信
端口號 端口號
協議 ? ?協議
192.168.0.118? -----網絡------192.168.0.10
IP地址 IP地址
兩臺主機連接的必備條件:1.IP地址 2.協議 3.端口
TCP/IP協議
TCP/IP是目前世界上應用最為廣泛的協議
是以TCP和IP為基礎的不同層次上多個協議的集合
也稱:TCP/IP 協議族 或 TCP/IP協議棧
TCP:Transmission Control Protocol 傳輸控制協議
IP:Internet Protocol 互聯網協議
TCP/IP模型
5應用層
(HTTP 超文件傳輸協議)
(FTP 文件傳輸協議)
(SMTP 簡單郵件傳送協議)
(Telnet 遠程登錄服務)
等等
4傳輸層(TCP/IP協議)
3網絡層
2數據鏈路層
1物理層
例如:網線 雙絞線 網卡等等
IP地址
為實現網絡不同計算機之間的通信,每臺機器都必須有一個唯一的
標識---IP地址
IP地址格式:數字型,如:192.168.0.1
目前用的比較多的是:IPv4? ? IP地址的長度為:32的2進制
(關于IP地址的相關內容在《探索Linux的網絡世界》中有詳細介紹哦)
端口
1.用于區分不同應用程序
電腦 -------------------------------------------電腦
唯一端口號
2.端口號范圍為0~65535,其中0~1023為系統所保留? ?建議使用:1023往后的端口號
3.IP地址和端口號組成了所謂的Socket,Socket是網絡上運行
的程序之間雙向通信鏈路的終結點,是TCP和UDP的基礎.
例子:
? ? ? ? ? IP? ? ? ? ? ? ? ? ? ? ?IP
A張三------------總機------------總機------------B李四
4.http:80 ftp:21 ? telnet:23
Java中的網絡支持
針對網絡通信的不同層次,Java提供的網絡功能有四大類:
1.InetAddress:用于標識網絡上的硬件資源.
2.URL:統一資源定位符 通過URL可以直接讀取或寫入網絡上的數據.
3.Sockets:使用TCP協議實現網絡通信的Socket相關的類.
4.Datagram:使用UDP協議,將數據保存在數據抱中,通過網絡進行通信.
查看全部 -
多線程服務器
查看全部 -
客戶端收信息查看全部
-
1、多線程的優先級
未設置優先級可能會導致運行速度非常慢,可降低優先級
2、是否關閉輸出流和輸入流
對于同一個socket,如果關閉了輸出流,則與該輸出流關聯的socket也會被關閉,所以一般不用關閉流,直接關閉socket
3、使用TCP通信傳輸對象
4、socket編程傳遞文件
查看全部 -
服務器端實現步驟
1、創建DatagamSocket,指定端口號
2、創建DatagramPacket
3、接收客戶端發送的數據信息
4、讀取數據
客戶端
1、定義發送數據
2、創建DatagramPacket,包含發送的信息
3、創建DatagamSocket
4、發送數據
查看全部 -
UDP協議是無連接、不可靠的、無序的
UDP協議以數據報作為數據傳輸的載體
進行數據傳輸時,首先要將傳輸的數據定義成數據報(Datagram),在數據報中指明要到達的Socket(主機地址和端口號),然后再將數據報發送出去。
DatagramPacket:表示數據報包
DatagramSocket:進行端到端通信的類
查看全部 -
服務器端:
1、建立ServerSocket對象,綁定監聽端口
2、通過accept()方法監聽客戶端請求
3、建立鏈接后,通過輸入流讀取客戶端發送的請求信息
4、通過輸出流向客戶端發送相應信息
5、關閉相關資源
客戶端:
1、簡歷Socket對象,指明需要連接的服務器的地址和端口號
2、連接建立后,通過輸出流向服務器發送請求
3、通過輸入流獲取服務器響應的信息
4、關閉相關資源
查看全部 -
TCP協議是面向連接、可靠的、有序的,以字節流的方式發送數據
基于TCP協議實現網絡通信的類
客戶端Socket類
服務端ServerSocket類
查看全部 -
getProtocol()獲取協議
getHost()獲取主機
如果未指定端口號,則使用默認端口號,getPort()返回-1
getPort()獲取端口
getPath()文件路徑
getFile()文件名
getRef()相對路徑(錨點后面的內容)
getQuery()查詢字符串(URL后面的參數)
//通過URL對象獲取所表示的字節輸入流
openStream()
使用 new BufferReader(new InputStreamRead(url.openStream))實例化按字符讀取數據。readLine()讀取一行數據。
注意編碼格式轉換,在創建InputStreamRead對象時添加utf-8編碼
new InputStreamRead(isr,"utf-8")
查看全部 -
InetAddress.getLocalHost()獲取本機InetAddress實例
InetAddress.getByName(name/IP)根據主機名/IP稱獲取InetAddress實例
getHostName()獲取計算機名稱
getHostAddress()獲取IP地址
getAddress()獲取字節數組形式的IP地址
查看全部 -
端口
1、用于區分不同應用程序
2、端口號范圍0~65535,其中0~1023為系統所保留
3、IP地址和端口號組成了所謂的Socket,Socket是網絡上運行的程序之間雙向通信鏈路的終結點,是TCP和UDP的基礎
4、http 80 ftp 21 telnet 23
Java提供的網絡功能四大類:
1、InetAddress:用于標識網絡上的硬件資源,即表示IP地址。
2、URL:統一資源定位符,通過URL可以直接讀取或寫如網絡上的數據。
3、Sockets:使用TCP或UDP協議實現網絡通信的Socket相關的類。
4、Datagram:使用UDP協議,將數據保存在數據報中,通過網絡進行通信。
查看全部
舉報