一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 老生常談Java網絡編程TCP通信(必看篇)

老生常談Java網絡編程TCP通信(必看篇)

2020-11-01 23:32Java教程網 Java教程

下面小編就為大家帶來一篇老生常談Java網絡編程TCP通信(必看篇)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Socket簡介:

Socket稱為“套接字”,描述IP地址和端口。在Internet上的主機一般運行多個服務軟件,同時提供幾種服務,每種服務都打開一個Socket,并綁定在一個端口上,不同的端口對應于不同的服務。Socket和ServerSocket類位于java.net包中。ServerSocket用于服務端,Socket是建立網絡連接時使用的。連接成功時,應用程序兩端都會產生一個Socket實例,通過操作這個實例完成所需會話。

Socket常用方法:

-int getLocalPort() 獲取本地使用的端口號

-InetAddress getLocalAddress() 獲取套接字綁定的本地地址

-int getPort() 獲取遠端使用的端口號

-InetAddress.getInetAddress() 獲取套接字綁定的遠端地址

InetAddress常用方法:

-String getCanonicalHostName() 獲取此IP地址的完全限定域名。

-String getHostAddress() 返回IP地址字符串

?
1
2
3
4
5
6
7
8
//獲取本地地址和端口號:
  public void testSocket() throws Exception{
    Socket socket=new Socket("localhost",8088);
    InetAddress add=socket.getLocalAddress();
    System.out.println(add.getCanonicalHostName());
    System.out.println(add.getHostName());
    System.out.println(add.getLocalPort());
  }
?
1
2
3
4
5
6
7
8
//獲取遠端地址和端口號:
  public static void testSocket() throws Exception{
    Socket socket=new Socket("localhost",8088);
    InetAddress inetAdd=socket.getInetAddress();
    System.out.println(inetAdd.getCanonicalHostName());
    System.out.println(inetAdd.getHostName());
    System.out.println(socket.getLocalPort());
  }

獲取網絡輸入流和網絡輸出流

通過Socket獲取輸入流與輸出流,主要使用一下兩個方法

-InputStream getInputStream() 用于返回此套接字的輸入流

-OutStream getOutputStream() 用于返回此套接字的輸出流

?
1
2
3
4
5
6
7
8
9
10
11
public static void testSocket() throws Exception {
    Socket socket = new Socket("localhost", 8088);
    OutputStream out = socket.getOutputStream();
    OutputStreamWriter osw = new OutputStreamWriter(out, "UTF-8");
    PrintWriter pw = new PrintWriter(osw, true);
    pw.println("輸出的內容");//發送內容
    InputStream in=socket.getInputStream();
    InputStreamReader isr=new InputStreamReader(in, "UTF-8");
    BufferedReader br=new BufferedReader(isr);
    br.readLine();//讀取接到的內容
 }

注意:當使用完Socket進行通訊完畢后,要關閉Socket以釋放系統資源

-void close() 關閉套接字,同時也代表關閉了獲取的輸入與輸出流。

TCP與UDP的區別

TCP(Transmission Control Protocol,傳輸控制協議)是基于連接的協議,也就是說,在正式收發數據前,必須和對方建立可靠的連接。聊天工具使用TCP協議

UDP(User Data Protocol,用戶數據報協議)是與TCP相對應的協議。它是面向非連接的協議,它不與對方建立連接,而是直接就把數據包發送過去! 游戲多使用UDP協議

以上這篇老生常談Java網絡編程TCP通信(必看篇)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 2019理论韩国理论中文 | 粉嫩国产14xxxxx0000 | 97秋霞| 亚洲欧洲日产国码无码av | 欧美日韩成人在线视频 | 亚洲波霸| 日本护士撒尿xxxxhd | 亚洲国产在线2o20 | 白丝爆动漫羞羞动漫软件 | 国产精品久久久久久久久久久久久久 | 国产一区二区精品久久91 | 波多野结中文字幕在线69视频 | 男人狂躁女人gif动态图 | 牛牛在线观看 | 9热在线精品视频观看 | 免费在线观看视频 | 亚洲国产一区二区三区a毛片 | 四虎国产精品免费久久久 | 欧美日本道免费一区二区三区 | 欧美va在线播放免费观看 | 亚洲男gay同性同志 亚洲免费在线看 | 日韩免费在线观看 | 日本高清无吗 | 高h辣h双处全是肉军婚 | chinesefree普通对话 | 视频在线播放 | 窝窝午夜精品一区二区 | 无码AV精品一区二区三区 | www.av免费 | 久久re这里精品在线视频7 | 91久久综合 | 亚洲成aⅴ人片在线 | 美女沟厕撒尿全过程高清图片 | yellow视频在线观看 | 小泽玛丽av无码观看 | 欧美高清videosdesex0 | 明星ai人脸替换脸忘忧草 | 欧美1区 | 欧美国产在线观看 | 胸大的姑娘中文字幕视频 | 精品日韩一区二区三区 |