社区
网络编程
帖子详情
send 后马上关闭socket,数据能正常发送出去吗
不老小孩
2007-07-17 11:19:18
在服务器端我想做成回应了客户端的数据就关闭SOCKET,
...
send(...);
closesocket(...)
这样做行吗?
别笑我,我是新手。
...全文
574
13
打赏
收藏
send 后马上关闭socket,数据能正常发送出去吗
在服务器端我想做成回应了客户端的数据就关闭SOCKET, ... send(...); closesocket(...) 这样做行吗? 别笑我,我是新手。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
的通信允许
发送
消息 图片 文件
动图图解!代码执行
send
成功后,
数据
就发
出去
了吗?
代码执行
send
成功后,
数据
就发
出去
了吗? 回答这个问题之前,需要了解什么是
Socket
缓冲区。 一.
socket
缓冲区 1.1 什么是
socket
缓冲区 编程的时候,如果要跟某个IP建立连接,我们需要调用操作系统提供的
socket
API。
socket
在操作系统层面,可以理解为一个文件。 我们可以对这个文件进行一些方法操作。 用listen方法,可以让程序作为服务器监听其他客户端的连接。 用connect,可以作为客户端连接服务器。 用
send
或write可以
发送
...
718-代码执行
send
成功后,
数据
就发
出去
了吗?
代码执行
send
成功后,
数据
就发
出去
了吗?
Socket
缓冲区 编程的时候,如果要跟某个IP建立连接,我们需要调用操作系统提供的
socket
API。
socket
在操作系统层面,可以理解为一个文件。 我们可以对这个文件进行一些方法操作。 用listen方法,可以让程序作为服务器监听其他客户端的连接。 用connect,可以作为客户端连接服务器。 用
send
或write可以
发送
数据
,recv或read可以接收
数据
。 在建立好连接之后,这个
socket
文件就像是远端机器的 “代理人” 一样。比如,如
send
/recv与
socket
send
函数 不论是客户端还是服务器端应用程序都用
send
函数来向TCP连接的另一端
发送
数据
。客户端程序一般用
send
函数向服务器
发送
请求,而服务器则通常用
send
函数来向客户程序
发送
应答。 当调用
send
函数时,
send
先比较待
发送
数据
的长度len和套接字s的
发送
缓冲区,如果len大于
发送
缓冲区的长度,该函数返回错误
SOCKET
_ERROR;如果len <= s的
发送
缓冲区,那么s...
java使用
Socket
类接收和
发送
数据
java使用
Socket
类接收和
发送
数据
网络应用分为客户端和服务端两部分,而
Socket
类是负责处理客户端通信的Java类。通过这个类可以连接到指定IP或域名的服务器上,并且可以和服务器互相
发送
和接受
数据
。在本文及后面的数篇文章中将详细讨论
Socket
类的使用,内容包括
Socket
类基础、各式各样的连接方式、get和set方法、连接过程中的超时以及
关闭
网络连接等。 在本文中,我们将讨论使用
Socket
类的基本步骤和方法。一般网络客户端程序在连接服务程序时要进行以下三步操作。 连接服务器
发送
和接收
数据
网络编程
18,357
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章