欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

老生常談Java網(wǎng)絡(luò)編程TCP通信(必看篇)

 更新時間:2017年05月29日 07:31:35   投稿:jingxian  
下面小編就為大家?guī)硪黄仙U凧ava網(wǎng)絡(luò)編程TCP通信(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Socket簡介:

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

Socket常用方法:

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

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

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

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

InetAddress常用方法:

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

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

//獲取本地地址和端口號:
  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());
  }
//獲取遠(yuǎn)端地址和端口號:
  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());
  }

獲取網(wǎng)絡(luò)輸入流和網(wǎng)絡(luò)輸出流

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

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

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

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("輸出的內(nèi)容");//發(fā)送內(nèi)容
    InputStream in=socket.getInputStream();
    InputStreamReader isr=new InputStreamReader(in, "UTF-8");
    BufferedReader br=new BufferedReader(isr);
    br.readLine();//讀取接到的內(nèi)容
 }

注意:當(dāng)使用完Socket進(jìn)行通訊完畢后,要關(guān)閉Socket以釋放系統(tǒng)資源

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

TCP與UDP的區(qū)別

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

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

以上這篇老生常談Java網(wǎng)絡(luò)編程TCP通信(必看篇)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 多線程實例詳解(三)

    Java 多線程實例詳解(三)

    本文主要介紹 java 線程安全的知識,這里整理了相關(guān)資料及實現(xiàn)示例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • JavaWeb搭建網(wǎng)上圖書商城畢業(yè)設(shè)計

    JavaWeb搭建網(wǎng)上圖書商城畢業(yè)設(shè)計

    這篇文章主要介紹了JavaWeb搭建網(wǎng)上圖書商城框架,特別適合正在為網(wǎng)上商城畢業(yè)設(shè)計煩惱的同學(xué),需要的朋友可以參考下
    2015-11-11
  • java中MultipartFile類型轉(zhuǎn)為File類型的4種方法

    java中MultipartFile類型轉(zhuǎn)為File類型的4種方法

    Spring提供了一個MultipartFile接口來處理文件上傳,但有時候我們需要將MultipartFile轉(zhuǎn)換為File來進(jìn)行一些特定的操作,比如保存文件到本地或者進(jìn)行文件的處理等,這篇文章主要給大家介紹了關(guān)于java中MultipartFile類型轉(zhuǎn)為File類型的4種方法,需要的朋友可以參考下
    2024-09-09
  • Java基礎(chǔ)篇之List集合舉例詳解

    Java基礎(chǔ)篇之List集合舉例詳解

    Java中的List集合是一種常用的數(shù)據(jù)結(jié)構(gòu),它提供了一種有序、可重復(fù)的元素集合,下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)篇之List集合的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • MyBatis使用接口映射的方法步驟

    MyBatis使用接口映射的方法步驟

    映射器是MyBatis中最核心的組件之一,本文主要介紹了MyBatis使用接口映射的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Java中@RequiredArgsConstructor使用詳解

    Java中@RequiredArgsConstructor使用詳解

    這篇文章主要介紹了Java中@RequiredArgsConstructor使用的相關(guān)資料,@RequiredArgsConstructor是Lombok庫提供的一個注解,用于自動生成一個包含所有final字段和非空字段的構(gòu)造函數(shù),需要的朋友可以參考下
    2025-05-05
  • springboot mybatis調(diào)用多個數(shù)據(jù)源引發(fā)的錯誤問題

    springboot mybatis調(diào)用多個數(shù)據(jù)源引發(fā)的錯誤問題

    這篇文章主要介紹了springboot mybatis調(diào)用多個數(shù)據(jù)源引發(fā)的錯誤問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot創(chuàng)建多模塊項目的全過程記錄

    SpringBoot創(chuàng)建多模塊項目的全過程記錄

    這篇文章主要給大家介紹了關(guān)于SpringBoot創(chuàng)建多模塊項目的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 深入了解Spring中最常用的11個擴展點

    深入了解Spring中最常用的11個擴展點

    我們一說到spring,可能第一個想到的是?IOC(控制反轉(zhuǎn))?和?AOP(面向切面編程)。除此之外,我們在使用spring的過程中,有沒有發(fā)現(xiàn)它的擴展能力非常強。今天就來跟大家一起聊聊,在Spring中最常用的11個擴展點
    2022-09-09
  • idea2019.2安裝MybatisCodeHelper插件的超詳細(xì)教程

    idea2019.2安裝MybatisCodeHelper插件的超詳細(xì)教程

    這篇文章主要介紹了idea2019.2安裝MybatisCodeHelper插件的教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09

最新評論