社区
网络编程
帖子详情
recv在Release版本下的问题
seanzh
2004-09-08 09:07:48
我有一个程序,其中有个地方使用了Recv函数,
在Debug版本下正常,但是在Release版本下就不能正常收发数据。
这是怎么回事?请哪位指点一下?
...全文
199
14
打赏
收藏
recv在Release版本下的问题
我有一个程序,其中有个地方使用了Recv函数, 在Debug版本下正常,但是在Release版本下就不能正常收发数据。 这是怎么回事?请哪位指点一下?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seanzh
2004-09-15
打赏
举报
回复
主要问题是我其他的去掉都没问题,就是加上那句话就出来问题了
gwwgww
2004-09-15
打赏
举报
回复
将你用到的相关变量都显式的初始化,Debug版本与Release版本给未初始化的变量赋的初值有时会不一样,这可能会影响到你的程序。
seanzh
2004-09-15
打赏
举报
回复
怎么没人回答呢?
seanzh
2004-09-14
打赏
举报
回复
哪位知道的?
seanzh
2004-09-13
打赏
举报
回复
主要是这个问题,我需要能实时返回,会隔一定时间去查看是否有数据进入。
seanzh
2004-09-08
打赏
举报
回复
如果不用这个,有什么好的解决办法?
seanzh
2004-09-08
打赏
举报
回复
我本来是要用CSocket的Receive函数的,但是那是阻塞的,
返回时间过长
seanzh
2004-09-08
打赏
举报
回复
应该不是缓冲区的问题吧?
recv(m_FmuSocket->m_hSocket, (char *)data, 4000, MSG_PEEK)
adamx
2004-09-08
打赏
举报
回复
看看是不是缓冲区初始化的问题
lhua_1225
2004-09-08
打赏
举报
回复
recv参数中的字符串没溢出吧?看看设置稍微大点看看
DentistryDoctor
2004-09-08
打赏
举报
回复
这个问题可能出在你的缓冲区管理上,如果涉及多线程就更有可能了。
gdy119
2004-09-08
打赏
举报
回复
用wsaeventselect(s,NULL,NULL)
或者wsaasynsselect(s,NULL,NULL,0)将socket设置为非阻塞
等到有触发到来的时候接收不就是了!
seanzh
2004-09-08
打赏
举报
回复
recv就是 windows socket的API
oyljerry
2004-09-08
打赏
举报
回复
用windows socket的api
Socket实例源码
windows socket API 封装起来的两个类,服务器端跟客户端分开,且已考虑粘包的处理情况。并利用这两个类做了一个局域网聊天程序。 服务器端:listen一个线程,每accept一个客户端,新开一个线程,专门负责
recv
,一旦
recv
到信息,会发送给HWND相应消息,wParam和lParam包含相应信息,HWND在类的Create成员函数中指定。 客户端:一旦connect成功,则新开一线程专门
recv
,一旦
recv
到信息,会发送给HWND相应消息,wParam和lParam包含相应信息,HWND在类的Connect成员函数中指定。Connect成员函数有一个参数指定重试连接次数(每次一秒),所以如果服务器没开的话,Connect成员函数不会被一直阻塞住。 一旦有了这两个类,就能很方便地把以前的单机小游戏加上联机对战功能。 注意:若你编译有错误,可能是你没有MFC42UD.dll等这些动态链接库的Debug
版本
,请在网上下载这些dll或直接编译成
Release
版本
。
WinSock的
recv
返回值处理
今天在调试程序的时候发现,客户端调用closesocket时,服务器应该会返回SOCKET_ERROR,实际上Debug
版本
是这样,但
Release
版本
并不是。相同的代码Debug返回了-1,
Release
返回了0。通过看msdn的原文可以发现:If no error occurs,
recv
returns the number of bytes received and the buffer p
recv
java_
recv
()返回0
我有一个非常讨厌的
问题
,我在其他论坛上发现了几次,但我找不到合适的解决方案 .
问题
是
recv
()在连接的最后几个字节上返回0 . 以下是一些背景信息 .两个(客户端/服务器)应用程序在同一台计算机上运行 .两个(客户端/服务器)套接字都是非阻塞的传输的数据大小为53个字节 .两个(客户端/服务器)在执行最后一个send()/
recv
()时调用shutdown和closesocket .我也尝试...
TCP
recv
(阻塞模式)函数到底时什么时候返回,结束阻塞的呢?原来是这样
最近在和同时讨论一个
问题
,TCP
recv
函数到底时什么时候返回,结束阻塞的呢?各有各的看法、有的说是检测到窗口为0时返回,有的说是系统内核发出的接收完毕信号,有的说是收到给定的大小结束的......... 一开始我也不确定到底哪个正确,为了追寻正确的答案,去看了下linux 系统源码tcp实现的部分,找到了在接收这块的逻辑,最终确定下来了
recv
函数的返回时机。
recv
的返回时机有很多,比如关闭了连接或者出错等都会返回,这些我们都不看,不考虑,只看正常情况下的返回。 函数 int re..
C++编程socket编程用
recv
函数接收,返回值为0解决方案
先讲下背景,我需要写一个客户端,用winsock发送请求到服务器,服务器用tomcat写的,通过responseBody返回字符串作为发还给客户端的数据。 错误表现为: 在用Visual Studio2017调试的时候,在Debug模式下,是没有任何
问题
的,而在
Release
模式下,则报错。 错误代码如下: char buffer[...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章