问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么我的SOCKET输出要暂停一下才能收到

发布网友 发布时间:2022-04-22 11:31

我来回答

4个回答

热心网友 时间:2023-11-03 10:16

C# Socket 发送数据后,不会断开连接对方才收到,一般是实时收到的,断开连接对方也能收到

学习,是指通过阅读、听讲、思考、研究、实践等途径获得知识和技能的过程。学习分为狭义与广义两种:

狭义:通过阅读、听讲、研究、观察、理解、探索、实验、实践等手段获得知识或技能的过程,是一种使个体可以得到持续变化(知识和技能,方法与过程,情感与价值的改善和升华)的行为方式。例如通过学校教育获得知识的过程。

广义:是人在生活过程中,通过获得经验而产生的行为或行为潜能的相对持久为方式。

社会上总会出现一种很奇怪的现象,一些人嘴上埋怨着老板对他不好,工资待遇太低什么的,却忽略了自己本身就是懒懒散散,毫无价值。

自古以来,人们就会说着“因果循环”,这话真不假,你种什么因,就会得到什么果。这就是不好好学习酿成的后果,那么学习有什么重要性呢?

物以类聚人以群分,什么样水平的人,就会处在什么样的环境中。更会渐渐明白自己是什么样的能力。了解自己的能力,交到同水平的朋友,自己个人能力越高,自然朋友质量也越高。

在大多数情况下,学习越好,自身修养也会随着其提升。同样都是有钱人,暴发户摆弄钱财只会让人觉得俗,而真正有知识的人,气质就会很不一样。

高端大气的公司以及产品是万万离不了知识的,只有在知识上不输给别人,才可以在别的地方不输别人。

孩子的教育要从小抓起,家长什么样孩子很大几率会变成什么样。只有将自己的水平提升,才会教育出更好的孩子。而不是一个目光短浅的人。

因为有文化的父母会给孩子带去更多的在成长方面的的帮助,而如果孩子有一个有文化的父母,通常会在未来的道路上,生活得更好,更顺畅。

学习是非常的重要,学习的好坏最终决定朋友的质量、自身修养和后代教育等方面,所以平时在学习中要努力。

热心网友 时间:2023-11-03 10:16

C# Socket 发送数据后,断开连接对方才收到?Socket服务端成功连接之后,为什么收不到数据,断开了才有反应?
void zSock::thread_Accept(void * lpvoid)

{

//这是多线程中的接收线程,专门用来接受客户端的

zSock *m_main = (zSock*)lpvoid;

AfxSocketInit();

CSocket sock;

sock.Attach(m_main->m_sock);

while (true)

{

CSocket sock1;

CString strip;

int err = sock.Accept(sock1);//监听客户端,有客户端连接上来的时候,这里处理正常。

CString stra;

m_main->PeerNameToStr(strip, sock1);

stra = strip;

stra += _T(" 登陆成功");

m_main->m_main->SetEditServerStr(stra);//成功连接上客户端,并且在服务端这边显示连接成功

m_main->blSock = false;

m_main->socktemp = sock1.Detach();

_beginthread(thread_Receive, 0, lpvoid);

while (!m_main->blSock)

;

}

}

void zSock::thread_Receive(void * lpvoid)

{

zSock *m_main = (zSock*)lpvoid;

AfxSocketInit();

CSocket sockthr;

if (!sockthr.Attach(m_main->socktemp))

{

m_main->m_main->SetEditServerStr(_T("多线程中Attach出错"));

return;

}

m_main->blSock = true;

BOOL bl = true;

while (bl)

{

char ReceText[15] = { 0 };

if (SOCKET_ERROR == sockthr.Receive(ReceText, sizeof(ReceText)))//问题在这里,客户端连接成功的时候,断点走到这里停止,然后等待接收数据。问题是,我客户端那边已经发送数据过来了,这边依然堵在这里一动不动。

{

//不管我客户端发送了多少的数据,反正就一直卡着,直到我强制关闭了然后跳到这里,报错10054:远程主机强迫关闭了一个现有的连接。

//前面发的数据都不见了……

m_main->GetErrorText(_T("Receive"),CString(_T("留白")));

return;

}

//如果是客户端用调试模式,然后关闭调试,就不会报错,而是一直在这里循环,客户端都已经关掉了,服务端这边还在一直接收数据,而且:ReceText一直是空值。

m_main->m_main->SetEditInStr(CString(ReceText));

}

sockthr.Close();

}

热心网友 时间:2023-11-03 10:17

正常情况下,单方面主动关闭TCP连接,也会发送FIN给对方来协商再断开,如果交互了FIN那就是双方都会断开,就谈不上收发数据了。

当然还有非正常情况,假设接收方单方面断掉了连接,发送方还不知道,会有如下两种情况:

1、发送方有keepalive机制(正常都会有),如果收不到接收方回复的ack,发送方也会断掉。

2、假设没有keepalive机制,发送方给接收方发数据了,接收方确实可以收到这个数据,但是发送方发下一个数据前必须收到上一个数据的ack,如果收不到,会重传这个数据,若干次重传后会释放掉这条会话,所以接收方只能收到第一个数据,收不到后续的。

热心网友 时间:2023-11-03 10:17

你可以根据服务器收到的数据的长度来判断,如果服务器收到的数据长度是0,那么意味着你的客户端程序已经断开了连接。从TCP/IP协议栈的角度来说,就是客户端程序关闭了自己写的这一半连接,向服务器发出了一个FIN。这涉及到TCP的状态迁移,关于这方面的知识,建议你看一下Richard Stevens先生的《TCP/IP 详解》卷一和《Unix网络编程》卷一,上面有详细的解释。

关于你的第二个问题,建议你仔细看一下自己的服务器程序代码。服务器程序首先要建立一个监听socket,当有客户端连接上来时,服务器会在一个新socket上接受客户端连接。所以并不存在“乱”的问题。关于这个问题同样推荐你看上面的两本关于网络编程的经典著作。

搜索
通俗理解socket
串口通信原理动画图
serverless实现原理
客户端与服务端的区别
linux与unix有什么区别
serverless原理
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问昆山正仪到江苏省昆山市出口加工区新竹路99号 怎么坐班车最近? 跪求苏州神达电脑地址!!! 华为运动耳机挂脖式怎么配对 雅酷美挂脖式无线蓝牙防水耳机-运动时尚,自由畅听 已知函数f(x)=cos^2x-sin^2x+2根号3sinxcosx+1 原先微信有联系后来突然对方要求我对他进行朋友验证我没有他电话号码... 已知函数f(x)=cos^2x-sin^2x+2根号3sinxcosx 已知函数fx=cos^2*x-sin^2*x+2sinx*cosx,求fx的最小正周期,并求当... 已知函数f(x)=cos2x-sin2x 4sinx·cosx求f(x)的最小正周期,并求当x为... 已知f(x)=cos^2x-sin^x+2sinxcosx。①求函数最小正周期②当x∈【0... 可以为Java Socket写消息设置超时吗 关于java socket编程和局域网游戏的延迟 建立socket 连接很慢,是什么原因 socket通信发送信息时,如何处理网络延迟。。 udp socket传输有延时吗 地球表面的最高温度是多少 socket编程中的数据延迟是什么意思 怎样给170的号码充话费 鸡,螃蟹,虾花甲怎么煲汤 虾花甲可以和乌鸡汤一起吃吗 平菇花甲汤怎么做好吃 花甲汤怎么做的 花甲豆腐虾可以一起煮汤吗 开心花甲高汤怎么熬的 花甲虾汤粉怎么做好吃 想要把花甲做成回锅口味,该用哪些烹饪技巧呢? 麻辣虾仁花甲怎么做 虾仁和花甲肉可不可以做汤,对此你有哪些了解呢? 170号码怎么充话费 2019年度局财务工作总结 android socket延时发送数据怎么解决!!! 关于C++写的Socket性能问题 socket编程中,使用setsockopt函数在客户端设置了SO_SNDTIMEO为10秒不起作用??? 关于closesocket会不会等待数据发送完毕 android socket通信延迟怎么解决 shutdown(socket,SD_SEND)是什么意思 404 Not Found 404 Not Found word如何设置三线 为什么从酷我音乐下载的歌不能播放 为什么从酷我上面下载到手机里的音乐听不? 我下载了酷我音乐为什么用不成 用酷我音乐盒给手机下载歌曲,为什么不能播放? 为什么酷我音乐盒的歌曲下载到手机里不能播放 装修装饰工程承包合同该如何写??? 涓轰粈涔堟坠链鸿繛涓妛ifi浜嗙敤镌€鐢ㄧ潃灏辨柇缃戜简锻360闂瓟 为什么酷我音乐下载完的歌曲听不了 我用酷我音乐下载的歌曲,为什么有的不能播放?谢谢! 装修工程内部承包合同协议书范本模板 酷我下载的音乐无法导入itunes