惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
B
Blog RSS Feed
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
N
News | PayPal Newsroom
K
Kaspersky official blog
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
B
Blog
Recorded Future
Recorded Future
U
Unit 42
J
Java Code Geeks
Security Latest
Security Latest
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Vulnerabilities – Threatpost
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Scott Helme
Scott Helme
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
T
Threatpost
Last Week in AI
Last Week in AI
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
NISL@THU
NISL@THU
有赞技术团队
有赞技术团队
博客园 - 叶小钗
N
News and Events Feed by Topic
V
V2EX
T
Troy Hunt's Blog
月光博客
月光博客
博客园 - Franky
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
C
Cisco Blogs
The Cloudflare Blog
T
Tor Project blog
Google Online Security Blog
Google Online Security Blog

C#

asp net core 的工作站模式和服务器模式的区别 - V2EX C#上位机开发是用 winform 那种传统工业风还是 WPF 现代风 - V2EX paddleocr 的 C#集成问题 - V2EX C#中异步相关的问题 - V2EX .NET 换新的异步编程模型了,性能很强 - V2EX 想念 C# - V2EX 200 块有偿求助 C#高速读取串口,导致软件闪退的问题。 - V2EX 老师,我太想进步了——关于 C#学习 - V2EX visual studio 2022 代码提示消失 - V2EX Cursor 生成的代码有个大坑,排查了一晚上才找出原因 - V2EX C# 有哪些显著的缺点? - V2EX 有没有 Sematic Kernel 可以落地的应用推荐? - V2EX 请教下 C#有没有办法用装饰器全局监控方法执行时间 - V2EX 想用 c#的 mvc 实现一个功能. - V2EX Unity 双击 C#脚本默认打开 Visual Studio 没有代码提示如何解决? - V2EX 请问 c#有没有一些能规范学习的生产管理系统开源项目? - V2EX C#串口通信问题 求教 - V2EX C# 怎么同时交叉编译 windows Linux mac ?跟 go 一样 - V2EX ClosedXML 如何对一列数据设置高亮重复项?(高亮重复项是 Excel 的一种功能;不能手动给重复单元格设置背景颜色,这样的话用户删除重复项后不会自动去除高亮) - V2EX 求推荐软件开发练习项目的教学视频或书籍 - V2EX 如何在 visual studio 2022 中新建单元测试项目时默认使用最新版本? - V2EX C#有像 C++的 libevent 同样定位的高性能跨平台网络库吗? - V2EX 求助,如何正確劫持系統 DLL 調用 - V2EX C#生态里有啥简单一点的容易上手的开源后台管理系统吗? - V2EX .NET6 HttpClient 无反应也不超时? - V2EX 关于.NET6 httpclient 用 IPV6 还是 IPV4 的疑问 - V2EX 关于 C#调用 DLL 的疑惑 - V2EX C#程序员开发手机页面有什么适合的 UI 框架? - V2EX 求教大佬,用 C#如何操作 word 文档 - V2EX 如何配置环境变量才能让 dotnet 和 ipconfig 都可以工作? - V2EX C#的二维码摆渡解码遇到点问题 - V2EX 请教一个 sha256withecdsa 签名的问题 - V2EX C#中有什么专有名词来定义 方法.方法 这种调用方式么? - V2EX 请问是否有 C# “官方”文档? - V2EX 关于 c#软件的逆向分析 - V2EX c#程序里的一个字符串参数,可以在生成的 exe 文件里搜索到吗? - V2EX C#新建项目后新建的各种文件的作用是什么? - V2EX 请问这个访问控制声明是否有点多余? - V2EX 请教, c#语言中,一个回调函数中使用 lock 部分执行较慢的代码,后续执行回调函数中 lock 操作执行顺序是不是不能保证先执行顺序 - V2EX 既然已经继承了 BCL 中的 IComparable 接口,为什么还要自己写 CompareTo 方法的实现? - V2EX C#中类 类型的变量是通常所说的“对象么?”类的实例又是什么? - V2EX C#单元测试为什么不能过多使用 setup? - V2EX C# 类中的这个构造函数能不能省略? - V2EX 如何让 C# 窗体标签的语言默认是中文? - V2EX C# 中 this 关键字在 Forms 类中使用的困惑 - V2EX 2023 年了,值得入行 C#上位机吗? - V2EX 想学习辉芒微单片机开发,有大佬有学习资料和方式吗 - V2EX C# 有没有 Rust 和 Lisp 那样, if/match 能直接求值,像三目运算符一样的功能? - V2EX 泛型存 List 的一个问题 - V2EX 有 C++基础入门 C#有推荐的书或课程吗,准备学习 unity 游戏开发
使用 C#的 HPSocket 的一个问题 - V2EX
exqibao · 2023-07-17 · via C#

使用 hpSocket 写程序分服务端和客户端,服务端收到客户端的一个消息,服务端会响应多个信息给客户端,但客户端只收到部分信息,收到的包都是完整的。

服务端断点时,一个一个看客户端又能收到,关闭断点有低概率收到完整,大概率又收不完全。

其实循环里面只用发一次,调试故意发 5 次,至少收到 1 次,但没试过 5 次都全收到,除非卡着断点一个一个 Send 走。

            // 创建其他玩家
            foreach (var model in DALManager.Instance.UserDal.GetAllUserModel())
            {
                Server.Send(connid, MessageType.Type_User, MessageType.User_Create_S, model.ID, model.UserInfo.ModelID,
                    model.Point);
                Server.Send(connid, MessageType.Type_User, MessageType.User_Create_S, model.ID, model.UserInfo.ModelID,
                    model.Point);
                Server.Send(connid, MessageType.Type_User, MessageType.User_Create_S, model.ID, model.UserInfo.ModelID,
                    model.Point);
                Server.Send(connid, MessageType.Type_User, MessageType.User_Create_S, model.ID, model.UserInfo.ModelID,
                    model.Point);
                Server.Send(connid, MessageType.Type_User, MessageType.User_Create_S, model.ID, model.UserInfo.ModelID,
                    model.Point);
            }

封装的 Send 方法;

        public static void Send(IntPtr connid, byte type, int command, params object[] content)
        {
            Message message = new Message(type, command, content);
            byte[] bytes = Message.ToBytes(message);
            server.Send(connid, bytes, bytes.Length);
        }

hp-socket 的代码了;

    public bool Send(IntPtr connId, byte[] bytes, int length)
    {
      GCHandle gcHandle = GCHandle.Alloc((object) bytes, GCHandleType.Pinned);
      bool flag = HPSocket.Sdk.Server.HP_Server_Send(this.SenderPtr, connId, gcHandle.AddrOfPinnedObject(), length);
      this.SysErrorCode.Value = flag ? 0 : Sys.SYS_GetLastError();
      gcHandle.Free();
      return flag;
    }

似乎连续总是会丢失后面的,有大佬知道问题在哪吗?