首页
学习
活动
专区
圈层
工具
发布

java socket连接之socket半关闭

当我们向服务器传输数据,并不知道传输多少数据时,我们如果当传输数据全部完成后,理科关闭套接字,那么也就立刻与服务器断开了,这个时候就无法获取服务器的响应了 解决办法:使用半关闭方法,也就是只关闭一个套接字的输出流来表示发送给服务器的请求数据已经结束...,但是必须保持输入流处于打开状态 直接看代码 Socket socket=new Socket(host,port); Scanner in =new Scanner(socket.getInputStream...());//输入流 PrintWriter writer= new PrintWriter(socket.getOutputStream());//输出流 writer(...); writer.flush...(); socket.shutdownOutput();//关闭输出流 while(in.hasNext()!...=null){ //继续接受来自服务器的输入 String line = in.nextLine(); } socket.close();//所有结束才关闭套接字

3.2K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    鸿蒙开发:openCustomDialog关闭指定Dialog

    实现了可以在任意位置上弹出,可以说是非常的方便;但是,在使用的时候遇到了一些小阻碍,比如一个页面中可能存在多个弹窗,而这些弹窗的隐藏顺序是不确定的,如何可以根据一定的条件,隐藏其中对应的弹窗呢,也就是,如何隐藏指定的弹窗...存储ComponentContent实现关闭指定Dialog我们知道在openCustomDialog的时候,会接收一个ComponentContent,在关闭弹窗的时候也会使用到这个ComponentContent...contentNode).then(() => { //隐藏之后删除 this.mCustomDialogMap.remove(key) }) } }存储dialogId实现关闭指定...promptAction.closeCustomDialog(dialogId) //隐藏之后删除 this.mCustomDialogMap.remove(key) } }相关总结以上呢就是两种隐藏指定的...Dialog方式,比较的简单,具体的场景,常见于,页面多个弹出Dialog,但是需要隐藏指定的Dialog场景,当然了,也适用于常见的普通场景。

    46700

    【Linux网络】封装Socket

    size_t len 描述: 指定缓冲区 buf 的最大容量,即你希望一次最多接收多少字节的数据。 注意: recv 最多只会向你返回 len 字节的数据,即使对端发送了更多的数据。...MSG_WAITALL: 阻塞等待,直到请求的完整数据(len 字节)全部到达、发生错误或连接关闭为止。但在某些情况下(如收到信号或连接被对端部分关闭),它返回的字节数可能仍少于请求的字节数。...连接关闭时: 0: 这表示对端已经优雅地关闭了连接(对于 TCP 来说,就是收到了 FIN 包)。这是一个正常的关闭信号,不应被视为错误。返回 0 是判断对端是否已关闭连接的标准方法。...注意:对于无连接的套接字(如 UDP),通常使用 sendto 或 sendmsg,因为它们允许指定目标地址。...size_t len 描述: 指定要发送数据的字节数。 int flags 描述: 这是一个控制发送行为的标志位。

    36710

    Linux Socket 收发Json

    如果对你有帮助,麻烦点个在看或点个赞,感谢~ 不管是Qt开发还是linux 嵌入式应用开发,一个人的核心竞争力还是不断思考,也就是不断琢磨。...下面的程序主要是Linux C Socket 读取JSON文件并传输,然后再写入文件,其中使用了cJSON库,关于cJSON库不过多介绍,主要介绍整体的思路。 1....Server 端 使用的是socket 阻塞式,没有使用select、poll、epoll等 接收端按照JSON格式解析数据,并提取感兴趣Key所对应的Value 程序功能挺快就可以做好,做完之后进行拆解...,将socket通信独立出来,JSON解析、写文件、响应客户端JSON数据等分别写成函数。...小结 编译JSON时需要链接linux的数学库 自己琢磨如何拆解函数功能 应用程序也主要是调用别人的api,那么你的核心竞争力是什么呢 ? 如需程序工程可在公众号后台留言。

    6.2K20

    Linux系统下socket编程socket接口介绍(二)

    前言 在上一篇文章里面我们介绍了TCP的三次握手和四次挥手过程的介绍以及网络编程里面的一些api接口函数的介绍——Linux系统下socket编程之socket接口介绍(一)。...函数介绍 - 发送和接收 - (1)send和write: 首先说明的一点,之前介绍的socket这个函数,非常类似我们之前介绍的open函数,他们都会返回一下文件描述符;所以这里的send函数和write...(这个转换完后不能用于网络传输,还需要调用htons或htonl函数才能将主机字节顺序转化为网络字节顺序,这两个函数先不讲,实战遇到的话,再进行解析),具体可以看下面Linux的源文: inet_aton...调用者必须为目标存储单元分配内存并指定其大小,调用成功时,这个指针就是该函数的返回值。size参数是目标存储单元的大小,以免该函数溢出其调用者的缓冲区。...(2)struct sockaddr,这个结构体是linux的网络编程接口中用来表示IP地址的 标准结构体,bind、connect等函数中都需要这个结构体,这个结构体是兼容IPV4和IPV6的。

    5.2K20

    Linux C Socket Api详解

    调用socket与调用open类型,均可获得用于输入、输出的文件描述符。不用的时候记得close关闭。 2. 寻址 如何确定一个目标通信进程?...可见规则总是因人而异,计算机也是如此~ 对于因特网域,如果指定IP地址为ADDR_ANY,套接字端点可以被绑定到所有的系统网络接口。...注意:linux的man命令可以查看api的详细说明,而且还有例子,也挺不错的。 4....其值由系统决定,但上限由socket.h>中SOMAXCONN指定。 一旦队列满,系统会拒绝多余的连接请求。 3> accept 一旦服务器调用了listen,套接字就能接收连接请求。...Linux Socket Server 与 Client 例子 个人觉得这只是套接字的入门,如果一个服务器要连接多个客户端呢?以后有机会和大家一起分享下select的套接字用法。

    7.1K10
    领券