socket 问题解决可最佳到200分 求大神帮忙 求求

问题描述

sockettcp长连接现在是这样我有5000个soket每秒并行2个给服务端发数据(请求)然后服务端收到任何一个socket请求就会给我5000个socket每个发数据(通知)下行很大我发的请求很小只有60字节服务端给我每个socket的回复是79字节服务器端是分布式的是多个服务器不是服务端的问题现在是我socket连接后一旦我发请求socket就会在下次send时提示远程主机强迫关闭或者提示本机主动放弃我收用的是Receive发用的是send知道为什么掉吗?HearBeat2:System.Net.Sockets.SocketException(0x80004005):您的主机中的软件放弃了一个已建立的连接。在System.Net.Sockets.Socket.Send(Byte[]buffer,Int32offset,Int32size,SocketFlagssocketFlags)在System.Net.Sockets.Socket.Send(Byte[]buffer,Int32size,SocketFlagssocketFlags)在GXBL.User.HearBeat()------------------------------------我用了多线程收和发可能不是同一个线程对了如服务器给我发消息我不收会被被断开吗?我是说我不调用Socket.Receive(clearRecv);另外我不收服务器会知道我没收吗?

解决方案

本帖最后由 u013403066 于 2014-01-07 01:04:57 编辑
解决方案二:
服务器端如果遇到向客户端发送消息失败的情况,连续几次以后(例如5次)就可以直接关闭连接了。如果你不收,会超时而抛出异常。
解决方案三:
你的所谓“服务器”程序是拿来别人的代码用,不是自己写吧?如果有源代码,就好好看看人家是如何关闭连接的。
解决方案四:
不同的人可能有不同的设计,我上面只是举一个简单的例子。比如说在我们的程序中,我们并不统计“连续5次发送失败”这个东西,而是在特定的“清理客户端连接”的过程中去清理掉那些Connected属性值为false的连接(以及虽然Connected属性为true,但是超时没有发来心跳消息的连接)。
解决方案五:
虽然没遇到过这个异常但是一般的机器也就开2000个线程超出的线程则以挂起状态存在(代码已经不在执行)如果你的客户端在少数的时候(例如100)个的时候不出现这个异常你要考虑一下是不是要用异步和用一些日志跟踪的方法调试一下
解决方案六:
你如果设置了keepalive属性,一端发而另一端不收,连续几次后,他就会自动关闭socket的
解决方案七:
我是是有2个send1个是20秒send一次另一个是500毫秒send一次send的数据都很小接受的数据很大以为服务端500毫秒给我每个socket发一个数据我是20秒收一次我把收放在了20秒send一次之前---远程强迫关闭估计是我收的不及时或者心跳不及时(心跳我是定时发了得但是不知道是不是我服务器发给我的数据过大把下行带宽占用了导致我send不出去)那么本地主动放弃时什么原因呢?

时间: 2024-12-03 23:05:55

socket 问题解决可最佳到200分 求大神帮忙 求求的相关文章

android-Android偶发socket连接失败问题!!!求大神帮忙

问题描述 Android偶发socket连接失败问题!!!求大神帮忙 启动程序让程序自动登录,在自动登录时会偶发连接失败,然后页面就会卡在第一个界面, 不知道怎么解决一下,在线等大神. 09-08 09:45:57.976: W/System.err(23019): java.net.ConnectException: failed to connect to hk.server.zeepson.com/23.97.74.18 (port 8443) after 30000ms: isConne

Android手机端实时观看远程摄像头画面,通过Socket方式如何实现该效果?求大神帮忙

问题描述 Android手机端实时观看远程摄像头画面,通过Socket方式如何实现该效果?求大神帮忙 不清楚远程网络摄像头采集的流数据,在客户端怎么通过SurfaceView实时显示,会设计解码吗?很是困惑

通讯-求大神帮忙啊,利用Android socket连接手机与电脑

问题描述 求大神帮忙啊,利用Android socket连接手机与电脑 求大神帮忙啊,利用Android socket连接手机与电脑,手机能够发送信息给电脑,但电脑发不了信息.ip是112.123.252.204 端口号是8001 用户是A359772039260139 xml xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layo

技术-求大神帮忙分许润乾报表或html开发报表功能的优劣不同,谢谢

问题描述 求大神帮忙分许润乾报表或html开发报表功能的优劣不同,谢谢 现在需要开发一个报表模块,有两种方式: 1.调用其他熊也开发好的润乾报表接口,但是本人不会使用润乾报表: 2.直接使用html相关技术进行开发 ,请大神们评价一下这两种方式的优劣,谢谢 了! 解决方案 润乾报表是一个纯JAVA的企业级 报表工具,如果想用就去学吧. 当然,如果你熟悉其中的一个,就不用再考虑,直接使用熟悉的.如果都不熟悉,建议你选择使用方广的,如 HTML,这样网上查资料方便一些.除非你能得到润乾报表的技术支持

如何用java线程池和socket实现群聊和私聊,求大神指教

问题描述 如何用java线程池和socket实现群聊和私聊,求大神指教 刚学习完javaSE,需要做一个小小的聊天软件,需要实现私聊和群聊的功能:本人觉得应当使用线程池和socket.IO流来实现,但不知道怎么做?求各位大神给点意见,不胜感激~ 解决方案 http://download.csdn.net/detail/z344310362/7579373 解决方案二: 群聊就是把消息发到一个聊天室,,私聊直接通过服务端发送给个人就行了 解决方案三: 我给你一个java聊天软件的参考吧:java聊

图片-悬赏40分 全英文的介绍的简单的两个c语言编程 求大神帮忙解答

问题描述 悬赏40分 全英文的介绍的简单的两个c语言编程 求大神帮忙解答 解决方案 #include int main() { int count; printf("输入"*"的个数:"); scanf("%d",&count); for(int i=0;i<=count;i++) { for(int j=0;j<i;j++) { printf("*"); } printf("n");

分层-求大神帮忙把下面代码分模块写顶层

问题描述 求大神帮忙把下面代码分模块写顶层 module jtd(clk,en,lampa,lampb,acount,bcount); input clk,en; output[3:0]lampa,lampb; output[7:0]acount,bcount; reg[3:0]lampa,lampb; reg[7:0]agreen,ayellow,aleft,ared,bgreen,byellow,bleft,bred; reg[2:0]counta,countb; reg tempa,tem

mfc c++-新人求教,我用mfc做了一个tcp fin的端口扫描器,死后得不出结果,求大神帮忙找出问题

问题描述 新人求教,我用mfc做了一个tcp fin的端口扫描器,死后得不出结果,求大神帮忙找出问题 cpp文件 // scanDlg.cpp : implementation file// #include ""stdafx.h""#include ""scan.h""#include ""scanDlg.h""#include ""afxdialogex.h&qu

网络编程 ping程序有点问题,求大神帮忙看看

问题描述 网络编程 ping程序有点问题,求大神帮忙看看 // ping.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include #pragma comment(lib,"ws2_32") //定义ICMP首部 typedef struct icmp_hdr{ unsigned char icmp_type; //ICMP消息类型,回显请求:8,回显应答请求:0 unsigned char icmp_code; //代码,