国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

當(dāng)在本地,向服務(wù)器發(fā)送信息時(shí),服務(wù)器接受信息返回給客戶端,此時(shí)采用多行讀取時(shí),客戶端接收不到Server的信息

這篇具有很好參考價(jià)值的文章主要介紹了當(dāng)在本地,向服務(wù)器發(fā)送信息時(shí),服務(wù)器接受信息返回給客戶端,此時(shí)采用多行讀取時(shí),客戶端接收不到Server的信息。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

public class SocketTCP04Server {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket =new ServerSocket(9999);
        System.out.println("Server:"+serverSocket.getClass());
        System.out.println("正在等待用戶連接...");

        //當(dāng)有用戶連接時(shí),會(huì)返回一個(gè)socket對(duì)象
        Socket socket = serverSocket.accept();
        System.out.println("Client:"+serverSocket.getClass());//查看連接到的用戶

        //接受Client的輸入信息
        String read =null;
        InputStream inputStream = socket.getInputStream();
        BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(inputStream));
        while ((read= bufferedReader.readLine())!=null){
            System.out.println(read);
        }
//        String s = bufferedReader.readLine();
//        System.out.println(s);
//        socket.shutdownInput();

        //現(xiàn)在向Client發(fā)送數(shù)據(jù)
        OutputStream outputStream = socket.getOutputStream();
        BufferedWriter bufferedWriter =new BufferedWriter(new OutputStreamWriter(outputStream));
        bufferedWriter.write("Hello, Client 字符流");
        bufferedWriter.newLine();//插入換行符,表示回復(fù)內(nèi)容的結(jié)束
        bufferedWriter.flush();
        System.out.println("服務(wù)器已關(guān)閉~");

        bufferedWriter.close();
        bufferedReader.close();
        socket.close();
        serverSocket.close();

    }
}
public class SocketTCP04Client {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket(InetAddress.getLocalHost(), 9999);
        System.out.println("獲取的Client的socket:" + socket.getClass());

        //現(xiàn)在向Server發(fā)送信息
        OutputStream outputStream = socket.getOutputStream();
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream));
        bufferedWriter.write("Hello,server 字符流");
        bufferedWriter.newLine();
        /**插入換行符后,相當(dāng)于寫(xiě)入結(jié)束,就不用socket.shutdownOutput();
        此時(shí)對(duì)面一定要使用readLine()一次讀一行代表讀取結(jié)束*/
        bufferedWriter.flush();

        //現(xiàn)在接受Server的信息
        InputStream inputStream = socket.getInputStream();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String read = null;
        while ((read = bufferedReader.readLine()) != null) {
            System.out.println(read);
        }
//        String s = bufferedReader.readLine();
//        System.out.println(s);

        socket.shutdownInput();
        bufferedReader.close();
        bufferedWriter.close();
        socket.close();

    }
}

當(dāng)在本地,向服務(wù)器發(fā)送信息時(shí),服務(wù)器接受信息返回給客戶端,此時(shí)采用多行讀取時(shí),客戶端接收不到Server的信息,Java小疑問(wèn),韓順平j(luò)ava習(xí)題,服務(wù)器,運(yùn)維?

當(dāng)在本地,向服務(wù)器發(fā)送信息時(shí),服務(wù)器接受信息返回給客戶端,此時(shí)采用多行讀取時(shí),客戶端接收不到Server的信息,Java小疑問(wèn),韓順平j(luò)ava習(xí)題,服務(wù)器,運(yùn)維?

此時(shí)的服務(wù)器還在等待輸入,客戶端也在等待服務(wù)器的應(yīng)答,產(chǎn)生死鎖,僵持不下。

經(jīng)過(guò)一番嘗試后發(fā)現(xiàn),

當(dāng)使用單行讀取的時(shí)候,使用bufferedWriter.newLine();此時(shí)就不用關(guān)閉socket的輸出流,即socket.shutdownOutput();可以省略,當(dāng)然寫(xiě)上去也沒(méi)錯(cuò)。

當(dāng)使用多行讀取的時(shí)候,此時(shí),必須使用關(guān)閉socket的輸出流,即socket.shutdownOutput();不能省略?。?!

單行接受代碼如下:?

這是Client:?

 //現(xiàn)在向Server發(fā)送信息
        OutputStream outputStream = socket.getOutputStream();
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream));
        bufferedWriter.write("Hello,server 字符流");
        bufferedWriter.newLine();
        /**插入換行符后,相當(dāng)于寫(xiě)入結(jié)束,就不用socket.shutdownOutput();
        此時(shí)對(duì)面一定要使用readLine()一次讀一行代表讀取結(jié)束*/
        bufferedWriter.flush();
        socket.shutdownOutput();//可以省略,加上不為錯(cuò)

這是Server端:?

//接受Client的輸入信息
        String read =null;
        InputStream inputStream = socket.getInputStream();
        BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(inputStream));
        String s = bufferedReader.readLine();
        System.out.println(s);
        socket.shutdownInput();

多行讀取時(shí):

這是Client端:?

 //現(xiàn)在向Server發(fā)送信息
        OutputStream outputStream = socket.getOutputStream();
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream));
        bufferedWriter.write("Hello,server 字符流");
        bufferedWriter.newLine();
        /**插入換行符后,相當(dāng)于寫(xiě)入結(jié)束,就不用socket.shutdownOutput();
        此時(shí)對(duì)面一定要使用readLine()一次讀一行代表讀取結(jié)束*/
        bufferedWriter.flush();
        socket.shutdownOutput();//一定不能省略

?這是Server端:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-734549.html

       //接受Client的輸入信息
        String read =null;
        InputStream inputStream = socket.getInputStream();
        BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(inputStream));
        while ((read= bufferedReader.readLine())!=null){
            System.out.println(read);
        }
        socket.shutdownInput();//不可省

到了這里,關(guān)于當(dāng)在本地,向服務(wù)器發(fā)送信息時(shí),服務(wù)器接受信息返回給客戶端,此時(shí)采用多行讀取時(shí),客戶端接收不到Server的信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【NanoHTTPD】Android,使用NanoHTTPD搭建服務(wù)器,接受Http請(qǐng)求,最佳實(shí)踐

    安卓app,作為服務(wù)器,接受Http,get post 請(qǐng)求推送數(shù)據(jù),NanoHTTPD是一個(gè)免費(fèi)、輕量級(jí)的(只有一個(gè)Java文件) HTTP服務(wù)器,可以很好地嵌入到Java程序中。支持 GET, POST, PUT, HEAD 和 DELETE 請(qǐng)求,支持文件上傳,占用內(nèi)存很小。 開(kāi)源地址:GitHub - NanoHttpd/nanohttpd: Tiny, easily embeddable HTTP serv

    2024年02月10日
    瀏覽(17)
  • UDP網(wǎng)絡(luò)編程的接受與發(fā)送信息
  • C# webservice 接收json數(shù)據(jù) 接口返回 遠(yuǎn)程服務(wù)器返回錯(cuò)誤: (500) 內(nèi)部服務(wù)器錯(cuò)誤

    C# webservice 接收json數(shù)據(jù) 接口返回 遠(yuǎn)程服務(wù)器返回錯(cuò)誤: (500) 內(nèi)部服務(wù)器錯(cuò)誤

    C# post 調(diào)用webservice 服務(wù)端接口,會(huì)返回上面那個(gè)錯(cuò)誤,8成是發(fā)送的數(shù)據(jù)和接口不符合造成的。有2種情況 第一種情況如下:如果類(lèi)型是默認(rèn)request.ContentType = \\\"application/x-www-form-urlencoded\\\";這個(gè)類(lèi)型 那么你發(fā)送數(shù)據(jù)和被調(diào)用接口參數(shù)名如果不對(duì),則會(huì)報(bào)下圖這個(gè)錯(cuò) 我發(fā)送的參數(shù)名

    2024年02月13日
    瀏覽(26)
  • 服務(wù)器的返回碼

    ? ? ? ? 404 Not Found:一般來(lái)說(shuō)是指服務(wù)器找不到請(qǐng)求的資源,特殊來(lái)說(shuō)是找到了但不想給你。 ? ? ? ? 502 bad gateway:Web 服務(wù)器作為網(wǎng)關(guān)或代理服務(wù)器時(shí)收到無(wú)效的響應(yīng),如果其他人訪問(wèn)該界面也是502則表示服務(wù)器掛了。 ????????1××是信息狀態(tài)碼,表示臨時(shí)響應(yīng)并需要客

    2024年02月07日
    瀏覽(16)
  • C#向指定的ip地址通過(guò)TCP/IP協(xié)議發(fā)送和接受信息

    需要使用Socket類(lèi)來(lái)創(chuàng)建和連接TCP/IP套接字,并使用Send和Receive方法來(lái)發(fā)送和接收數(shù)據(jù)。還需要引用System.Net和System.Net.Sockets命名空間。 以下是一個(gè)示例代碼,它發(fā)送一個(gè)字符串消息到指定的IP地址和端口,并接收返回消息。 了解更多C#可以訪問(wèn)C#的官方教程 本文也參考了C#的官

    2024年02月07日
    瀏覽(28)
  • 服務(wù)器發(fā)送http請(qǐng)求

    1、發(fā)送GET請(qǐng)求 curl localhost:9009/setCreateDataItem?a=1b=nihao 2、發(fā)送POST請(qǐng)求 3、發(fā)送json格式請(qǐng)求: 其中, -H 代表header頭, -X 是指定什么類(lèi)型請(qǐng)求(POST/GET/HEAD/DELETE/PUT/PATCH), -d 代表傳輸什么數(shù)據(jù)。這幾個(gè)是最常用的。 查看所有curl命令: man curl或者curl -h 請(qǐng)求頭:H,A,e 響應(yīng)頭:I,i,D

    2024年01月25日
    瀏覽(17)
  • 【服務(wù)器】搭建hMailServer 服務(wù)實(shí)現(xiàn)遠(yuǎn)程發(fā)送郵件

    【服務(wù)器】搭建hMailServer 服務(wù)實(shí)現(xiàn)遠(yuǎn)程發(fā)送郵件

    hMailServer 是一個(gè)郵件服務(wù)器,通過(guò)它我們可以搭建自己的郵件服務(wù),通過(guò)cpolar內(nèi)網(wǎng)映射工具即可實(shí)現(xiàn)遠(yuǎn)程發(fā)送郵件,不需要使用公網(wǎng)服務(wù)器,不需要域名,而且郵件賬號(hào)名稱可以自定義. 下面以windows 10系統(tǒng)為環(huán)境,介紹使用方法: 1. 安裝hMailServer 進(jìn)入官方下載:https://www.hmailserver.com/do

    2024年02月10日
    瀏覽(25)
  • java連接websocket服務(wù)器并發(fā)送消息

    一、用python快速啟動(dòng)一個(gè)websocker服務(wù)器 二、使用java連接并發(fā)送消息

    2024年02月11日
    瀏覽(22)
  • c# 設(shè)置代理服務(wù)器發(fā)送http請(qǐng)求
  • Qt實(shí)現(xiàn)客戶端與服務(wù)器消息發(fā)送

    Qt實(shí)現(xiàn)客戶端與服務(wù)器消息發(fā)送

    里用Qt來(lái)簡(jiǎn)單設(shè)計(jì)實(shí)現(xiàn)一個(gè)場(chǎng)景,即: (1)兩端:服務(wù)器QtServer和客戶端QtClient (2)功能:服務(wù)端連接客戶端,兩者能夠互相發(fā)送消息,傳送文件,并且顯示文件傳送進(jìn)度。 環(huán)境:VS20013 + Qt5.11.2 + Qt設(shè)計(jì)師 先看效果: 客戶端與服務(wù)器的基本概念不說(shuō)了,關(guān)于TCP通信的三次握

    2024年02月11日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包