社区
通信技术
帖子详情
用完成端口怎样处理对方socket关闭事件
lanzhu
2004-02-24 08:41:27
用完成端口写个服务器程序,如果客户端的socket关闭后,服务器端如何能够知道?好像IO Completion port 只能获得accept、read、write通知!
...全文
137
16
打赏
收藏
用完成端口怎样处理对方socket关闭事件
用完成端口写个服务器程序,如果客户端的socket关闭后,服务器端如何能够知道?好像IO Completion port 只能获得accept、read、write通知!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大脚板
2004-05-10
打赏
举报
回复
问个问题
accept触发时,返回的是什么东西
大脚板
2004-05-09
打赏
举报
回复
同意hmnes125(NES)的
lwj_dxy
2004-05-09
打赏
举报
回复
up
apogeecsj
2004-05-03
打赏
举报
回复
可不可以在数据传输过程中设个协议
靖
2004-04-30
打赏
举报
回复
hmnes125(NES)的方法是对的,我就是这么处理的
icanfeeling
2004-04-29
打赏
举报
回复
楼上的这个方法不行,
如果客户端清空缓冲区,不发送数据,你读的时候也是收到0个字节啊。
---------------------------
我的经验:客户端不发送数据,服务端的WSARecv请求就不会完成.
楼主你有没有搞错啊???
hatecoding
2004-04-29
打赏
举报
回复
用read( clientsocket, buf , bufsize)返回值检测,如果为-1,用WSAGetLastError()(LInux下用errno)可以知道socket出错的原因,在你说的情况下,应该会给出对方关闭socket的错误。
starcbh
2004-04-28
打赏
举报
回复
bytesRead bytesWrite返回0或-1就可以当socket关闭了
huiguo309
2004-04-28
打赏
举报
回复
如果只是想测试一下对端是否close,测试完了立即干别的事。如果用read测试的话,那么就会一直阻塞在read,干不了别的事。
stick77
2004-04-01
打赏
举报
回复
同意 hmnes125(NES),客户端不发送数据,完成端口Read事件不会返回的。
zsuswy
2004-03-31
打赏
举报
回复
楼上的这个方法不行,
如果客户端清空缓冲区,不发送数据,你读的时候也是收到0个字节啊。
hmnes125
2004-03-29
打赏
举报
回复
Read事件被触发后,接受字节为0时,表示客户端Socket断开
zsuswy
2004-03-27
打赏
举报
回复
顶
tinghuyang
2004-03-27
打赏
举报
回复
up
lovepeacer
2004-03-17
打赏
举报
回复
up
feichen8
2004-03-15
打赏
举报
回复
up
Linux的
socket
编程详解
创建准备阶段 服务器或客户端: 使用 gethostbyname() 来通过域名获取 IP 地址和
端口
服务器: 创建
Socket
服务器: 使用 bind() 将套接字与特定的 IP 地址和
端口
绑定 客户端: 创建
Socket
连接阶段(UDP 不需要建立连接) 服务器: 使用 listen() 进入监听状态 服务器: 使用 accpet() 接收客服端的请求,返回客户端
Socket
。(如无请求,会阻塞程序进行等待) 客户端: 使用 connect() 建立连接,并获得服务器
Socket
。 数据交互阶段 服务器或客户端: 使用 wirte() 对对方
Socket
进行数据写入。 服务器或客户端: 使用 read() 对对方
Socket
进行数据读取。 UDP 情况下使用 sendto() 发送数据。 UDP 情况下使用 recvfrom() 接收数据。
关闭
阶段 服务器或客户端: 使用 close()
关闭
套接字 服务器或客户端: 使用 shutdow()
关闭
连接(但不会
关闭
套接字)
聊天的终端和服务器.txt
设服务器端程序监听
端口
为8629, 当收到客户端信息后,首先判断是否是"BYE",若是,则立即向对方发送"BYE",然后
关闭
监听,结束程序。若不是,则在屏幕上输出收到的信息,并由键盘上输入发送到对方的应答信息。请编写程序
完成
此功能。 mport java.net.*; import java.io.*; class Server{ public Server() { try { Server
Socket
ss = new Server
Socket
(8629); System.out.println("服务器端已运行,等待客户端连接:");
Socket
socket
= ss.accept(); //接收客户端的连接请求; BufferedReader in = new BufferedReader(new InputStreamReader(
socket
.getInputStream())); PrintWriter out = new PrintWriter(
socket
.getOutputStream(),true); BufferedReader br = new Buffer
Socket
编程系列之2:Windows-API网络编程入门实战
Socket
编程系列初步计划:
Socket
编程系列之1: Linux-API 网络编程入门实战
Socket
编程系列之2: Windows-API 网络编程入门实战
Socket
编程系列之3: Muduo 网络编程入门实战
Socket
编程...
java实现
socket
网络编程
java实现
socket
网络编程 服务端使用Server
Socket
绑定IP和
端口
,使用Accept监听
端口
是否有客户端发送连接请求,一旦有客户端发送连接请求, 服务端就回送连接信息,正式建立连接。Server端和Client端都可以通过Send,Write等方法与对方通信。 对于一个功能齐全的
Socket
,都要包含以下基本结构,其工作过程包含以下四个基本的步骤: 1、创建
Socket
; 2、打开连接到
Socket
的输入/出流; 3、按照一定的协议对
Socket
进行读/写操作; 4、
关闭
Socket
。
java
socket
释放
端口
_JAVA
Socket
编程---
Socket
和 Server
Socket
一,
Socket
Socket
的选项1) TCP_NODELAY:默认值为false。表示采用Negale算法。当设置为true时,表示
关闭
Socket
缓冲,立即发送数据。
Socket
默认发送数据是采用Negale算法。Negale算法是指发送方发送的数据不会立即发出,而是先放在缓冲区内,等缓冲区满了再发出。发送完一批数据后,会等待对方对这批数据的回应,然后再发送下一批数据。该算法的目的是通过减少传...
通信技术
4,356
社区成员
28,926
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章