欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Java核心技術(shù)-網(wǎng)絡(luò)-創(chuàng)新互聯(lián)

套接字

使用java連接到服務(wù)器

成都創(chuàng)新互聯(lián)公司為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設(shè)計服務(wù),主要包括做網(wǎng)站、網(wǎng)站建設(shè)、app軟件開發(fā)公司重慶小程序開發(fā)公司、宣傳片制作、LOGO設(shè)計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗豐富的經(jīng)驗,可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。 
public static void main(String[] args) throws IOException {try (
        Socket socket = new Socket("time-a.nist.gov", 13);
        Scanner scanner = new Scanner(socket.getInputStream())
    ){while (scanner.hasNextLine()) {String line = scanner.nextLine();
            System.out.println(line);
        }
    }
}

設(shè)置超時時間

socket.setSoTimeout(10000);

new Socket(host, port)這個方法會一直地阻塞下去,直到建立了到達主機地初始連接為止。可以通過先構(gòu)建一個無連接地套接字,然后再使用一個超時來進行攔截地方式解決這個問題。

Socket socket = new Socket();
socket.connect(new InetSocketAddress(host, port), timeout);

靜態(tài)地getByName方法可以返回代表某個主機地InetAddress對象。如:

InetAddress address = InetAddress.getByName("time-a.nist.gov");
String hostAddress = address.getHostAddress();

如果主機名對應(yīng)多個因特網(wǎng)地址,當訪問主機時,隨隨機選取其中一個,可以通過getAllByName方法獲得所有主機。

InetAddress[] allByName = InetAddress.getAllByName("www.baidu.com");
for (InetAddress inetAddress : allByName) {System.out.println(inetAddress.getHostAddress());
}

獲取本機地址

InetAddress localHost = InetAddress.getLocalHost();
System.out.println(localHost.getHostAddress());
服務(wù)器套接字

一旦啟動了服務(wù)器程序,它便會等待某個客戶端連接到它的接口。

ServerSocket serverSocket = new ServerSocket(8189);

用于建立一個負責監(jiān)控端口8189的服務(wù)器

Socket accept = serverSocket.accept();

一旦有人通過網(wǎng)絡(luò)發(fā)送了正確的連接請求,并以此連接到了端口上,該方法就會返回一個表示連接已經(jīng)建立的Socket對象。我們可以使用這個對象來得到輸入流和輸出流。

InputStream inputStream = accept.getInputStream();
OutputStream outputStream = accept.getOutputStream();

服務(wù)器發(fā)送給服務(wù)器輸出流的所有信息都會成為哭護短程序的輸入,同時來自客戶端程序的所有輸出都會被包含在服務(wù)器輸入流中。我們可以將流轉(zhuǎn)換成掃描器和寫入器。

Scanner in = new Scanner(inputStream);
PrintWriter out = new PrintWriter(new OutputStreamWriter(outputStream));

完整代碼

public static void main(String[] args) throws IOException {ServerSocket serverSocket = new ServerSocket(8189);
    Socket accept = serverSocket.accept();

    InputStream inputStream = accept.getInputStream();
    OutputStream outputStream = accept.getOutputStream();
    Scanner in = new Scanner(inputStream);
    PrintWriter out = new PrintWriter(new OutputStreamWriter(outputStream), true);
    //out.println("ljq");
    boolean done = false;
    while (!done && in.hasNextLine()) {String line = in.nextLine();
        out.println("ljq: " + line);
        if (line.trim().equals("no")) done = true;
    }
    accept.close();
}

半關(guān)閉

套接字連接的一端可以終止其輸出,同時仍舊可以接收來自另一端的數(shù)據(jù)。可以通過關(guān)閉一個套接字的輸出流來表示發(fā)送給服務(wù)器的請求數(shù)據(jù)已經(jīng)結(jié)束,但是必須保持輸入流處于打開狀態(tài)。

Socket accept = serverSocket.accept();
accept.shutdownOutput();
獲取web數(shù)據(jù)URLURI

URLURLConnection類封裝了大量復雜的實現(xiàn)細節(jié),這些細節(jié)涉及如何從遠程站點獲取信息。

URL url = new URL("urlString");

如果只是想獲得該資源的內(nèi)容,可以使用URL類中的openStream方法。該方法將產(chǎn)生一個InputStream對象,然后就可以按照一般的用法來使用這個對象了,如下所示:

URL url = new URL("urlString");
InputStream inputStream = url.openStream();
Scanner scanner = new Scanner(inputStream);

java.netURL(統(tǒng)一資源定位符)和URI(統(tǒng)一資源標識符)進行了非常有用的區(qū)分。

URI是個純粹的語法結(jié)構(gòu),包含用來指定Web資源的字符串的各種組成部分。URLURI的一個特例,它包含了用于定位Web資源的足夠信息。

javaURI類不能用于訪問資源,它的唯一作用就是解析。但是,URL類可以打開一個連接到資源的流。因此URL類只能用于那些java類庫知道該如何處理的模式,如httphttpsftp等等。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享名稱:Java核心技術(shù)-網(wǎng)絡(luò)-創(chuàng)新互聯(lián)
瀏覽地址:http://chinadenli.net/article38/igdpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)響應(yīng)式網(wǎng)站自適應(yīng)網(wǎng)站標簽優(yōu)化全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)