社区
网络编程
帖子详情
send 后马上关闭socket,数据能正常发送出去吗
不老小孩
2007-07-17 11:19:18
在服务器端我想做成回应了客户端的数据就关闭SOCKET,
...
send(...);
closesocket(...)
这样做行吗?
别笑我,我是新手。
...全文
563
13
打赏
收藏
send 后马上关闭socket,数据能正常发送出去吗
在服务器端我想做成回应了客户端的数据就关闭SOCKET, ... send(...); closesocket(...) 这样做行吗? 别笑我,我是新手。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wxw13637906414
2012-07-09
打赏
举报
回复
5楼说得对,通过设置参数去控制的
lianglp
2007-07-20
打赏
举报
回复
调用shutdown可以关闭,以保证发送完成,TCP/IP协议会保证这事情。
fox1999
2007-07-20
打赏
举报
回复
最好 sleep 一下,我試的就有點問題
僵哥
2007-07-19
打赏
举报
回复
如果采用blocking则send返回时数据已经发送,是可以关闭的,但是在closesocket前最好先shutdown.
loverx
2007-07-18
打赏
举报
回复
send will failed with return value -1,you can retrieve more information by calling WSAGetLastErorr()
garasmc
2007-07-18
打赏
举报
回复
借地方再问个问题哈.
如果客户端send(..)后,服务器接收到,然后closesocket了,同时客户端又send了数据.
那么此同发送的数据,客户端这边会显示成功吗?
章月庭
2007-07-18
打赏
举报
回复
还有,如果你用的是socket API,可以通过Socket close 返回,WSAGetLastError来判断是不是正在有数据通讯的.参见MSDN closesocket()
mfc168
2007-07-18
打赏
举报
回复
如果设置了延时,则有可能不丢数据
//延时设置
linger m_sLinger;
m_sLinger.l_onoff = 1; // (在closesocket()调用,但是还有数据没发送完毕的时候容许逗留)
m_sLinger.l_linger = 0; // (容许逗留的时间为0秒)
setsockopt(sockConnected,
SOL_SOCKET,
SO_LINGER,
(const char*)&m_sLinger,
sizeof(linger));
WizardK
2007-07-18
打赏
举报
回复
发送完后需要自己等待一段时间以保证发送完成
loverx
2007-07-18
打赏
举报
回复
NO,The data may lost
The best method is to set the linger time,it ensures the data was sent succeedly
and The sleep function may be ok,but it it not the standard method
HF_99
2007-07-18
打赏
举报
回复
好象不能马上就关闭SOCKET,最好Sleep()一段时间再关闭
Avoid
2007-07-17
打赏
举报
回复
没问题
C#
socket
通信允许
发送
消息,图片,与文件
socket
的通信允许
发送
消息 图片 文件
718-代码执行
send
成功后,
数据
就发
出去
了吗?
代码执行
send
成功后,
数据
就发
出去
了吗?
Socket
缓冲区 编程的时候,如果要跟某个IP建立连接,我们需要调用操作系统提供的
socket
API。
socket
在操作系统层面,可以理解为一个文件。 我们可以对这个文件进行一些方法操作。 用listen方法,可以让程序作为服务器监听其他客户端的连接。 用connect,可以作为客户端连接服务器。 用
send
或write可以
发送
数据
,recv或read可以接收
数据
。 在建立好连接之后,这个
socket
文件就像是远端机器的 “代理人” 一样。比如,如
动图图解!代码执行
send
成功后,
数据
就发
出去
了吗?
代码执行
send
成功后,
数据
就发
出去
了吗? 回答这个问题之前,需要了解什么是
Socket
缓冲区。 一.
socket
缓冲区 1.1 什么是
socket
缓冲区 编程的时候,如果要跟某个IP建立连接,我们需要调用操作系统提供的
socket
API。
socket
在操作系统层面,可以理解为一个文件。 我们可以对这个文件进行一些方法操作。 用listen方法,可以让程序作为服务器监听其他客户端的连接。 用connect,可以作为客户端连接服务器。 用
send
或write可以
发送
...
Linux 服务器
socket
关闭
,客户端为什么还能调用一次
send
Linux 服务器
socket
关闭
,客户端为什么还能调用一次
send
tcp
send
成功一段时间后,
send
成功却无法再
发送
数据
。
最近调试程序遇到一个问题:我作为客户端,设备作为服务端,向设备
发送
流媒体
数据
包,之前一直正常,但一段时间后设备接收显示不正常,此时检测
发送
端程序显示
send
返回值正常,但是wireshark抓包未看到
数据
。 查找过程: 本着先怀疑自己程序的问题的原则,在
发送
端做了很多测试,包括组包,sleep,但无法解决问题。后来再增加一个TCP测试工具作为接收端,
发送
端同时向设备和测试工具
发送
数据
,当设备...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章