
~~~~~~~~【Socket】
我爱AI
本人毕业于桂林电子科技大学,本科阶段主攻硬件,比如单片机类。硕士阶段主攻通信工程,比如用MATLAB跑无线接入网系统等等。毕业后,在医疗公司做软件工程师,主攻WPF/WinForm/数据库/底层驱动等等。
因此,在硬件PCB等等、在软件MATLAB/WPF等等有需求的朋友,可以一起交流学习。现在转AI+Web,做通信类网管
展开
-
Socket 中级篇(四) TCP组包、粘包、拆包的原理
第一章、简介1、这篇博客我想阐述什么? 在利用Socket+Tcp通信中,如果不采用开源库(比如SuperSocket)来实现,那么就是自己写了。既然自己写的东西,必须考虑稳定性、有效性、可行性等等。 直到今天,在用Socket/TCP做视频监控过程中,当网络较慢时,Socket/tcp通信,并不能一次性地把发送缓存区的数据发送出去。如果接受端不做处理,而是按接...原创 2018-11-08 10:30:20 · 8411 阅读 · 0 评论 -
Socket 中级篇(三)C# Socket的同步连接和异步连接区别:大规模客服端连接、少开线程、高性能
目录参考:一、简介1.1、提出问题1.2、问题分析1.3、拓展Socket的同步连接与异步连接1.3.1、什么是同步连接、异步连接二、Socket同步通信实现2.1、Server2.2、Client三、Socket异步通信实现参考:https://www.debugease.com/csharp/1114414.html一、简介1.1、提出...原创 2019-07-22 17:35:37 · 3088 阅读 · 0 评论 -
Socket 中级篇(二)C# 开线程监听:无法将方法组转为ThreadStart
参考https://www.cnblogs.com/yangjinwang/p/4193760.html一、问题描述遇到的问题,如下图所示:无法将方法组转为ThreadStart解决方法:二、源码using KeenRay.Common;using KeenRay.Common.SocketCommu;using Prism.Commands;using P...原创 2019-06-14 11:16:44 · 6336 阅读 · 1 评论 -
C#.网络编程 Socket基础(九)内网: socket.send(btButterSend)发送、socket.receive(btButterRec)接收,但是接收的速率很慢,
一、所遇到的问题视频监控,本机利用socket.send(btButterSend)发送, socket.receive(btButterRec)接收,就能实时的实现视频监控。其中,一幅图=921654个字节。但是在公司的局域网试了下,发现接收端的收到的数据太慢了。收到的字节如下:于是,ping xx.xx.xx.xx -t(WLAN内网)ping内网内网的时延甚至...原创 2019-03-13 11:10:07 · 1632 阅读 · 0 评论 -
Socket 中级篇(一)Socket断开后要自动重连的常用几种方法:Connected、心跳包、recv()返回值==-1等等。
第一章、简介(抛出问题) 参考:https://www.cnblogs.com/youxin/p/4056041.html 功能方面比较简单就是client端与server端建立连接,然后发送消息给server。我在server端会使用专门的线程处理一条socket连接。这就涉及到一个问题,如果socket连接断开(异常,正常)后,我如何才能感知到?server端这边是绝对被...原创 2019-03-16 12:02:46 · 37054 阅读 · 0 评论 -
C#.网络编程 Socket基础(十一)Socket将ListView用户信息以字节发送,接收端将字节转字符串,循环扫描出多个用户的信息
using KeenRayLargePC.Models;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;u...原创 2019-03-16 09:43:23 · 385 阅读 · 0 评论 -
C#.网络编程 Socket基础(十) List<byte>队列缓存Socket接收的数据:List<byte>插入byte[]数组;反之List<byte>可拷贝到byte[]数组
一、简介 缓存Socket发送的数据,放到队列中,然后固定地从队列总读取字节。关键点1:List<byte>列表List<byte> VideoList = new List<byte>();List数组可以实现快速地增删。如果用byte[]VideoList = new byte[1000],来缓存,那么久需要进行移位等等操作,增加...原创 2019-03-12 11:28:33 · 2685 阅读 · 0 评论 -
C#.网络编程 Socket基础(七)MainWindow与Page之间传递消息。调用线程必须为STA、UI更新、卡顿。线程启动。Object类型作形参传递。单实例类+委托。
一、简介1、本次主要介绍MainWindow窗口实例化,将MainWindow窗口实例化作为一个参数传输给另外一个窗体,以便给另外一个窗体使用。其保证了每个窗体只有一份实例化的数据。具有应用在,窗体与窗体间控件、数据的访问。关于每个窗体只进行一次实例化,得到一份数据,保证了数据的唯一性问题,将在后面给出阐述。2、关于 “调用线程必须为STA,因为许多UI组件都需要” 问题、 UI更新问题...原创 2018-11-16 15:25:21 · 1964 阅读 · 2 评论 -
C#.网络编程 Socket基础(六)WPF工程 UI界面卡顿问题及其解决办法、UI界面没有卡顿,第二次实例化导致UI界面不能更新界面问题及其解决办法
简介:本文将介绍简单、复杂的卡顿问题(本文的复杂卡顿问题,表现在UI不能更新)。一、简单卡顿问题及其解决方法,请参考我的另一篇博文 C#.网络编程 Socket基础(四) WPF系统Socket TCP协议 服务器与客户端 不同类型文件传输,解决UI线程(异步委托)与工作线程的卡顿问题设计思路 主线程——>实例化——>次线程——>在次线程中,直接用实例更新到主线...原创 2018-11-14 15:37:16 · 3021 阅读 · 0 评论 -
C#.网络编程 Socket基础(八):FastSocket(C/C++)、FastSocket.NET(C#)与SuperSocket(纯C#) 开源库的区别、介绍、使用方法
一、FastSocket与SuperSocket区别 里面包含了视频教程。 我们到底选择哪一款开源的Socket框架?https://blog.youkuaiyun.com/abennet/article/details/79399713。这是业内常用的两个Socket。二、SocketLite省略三、目前经过兼容测试的常用服务软件有:HAProxy、Nginx、Light...原创 2018-10-31 11:01:55 · 4927 阅读 · 0 评论 -
C#.网络编程 Socket基础(五) WPF系统Socket TCP协议 服务器与客户端 可以传输任何文件以及文件名、文件类型。
一、简介无法想象,做一件事情需要多么认知。我在前后几天从零学习,到现在写了五篇关于Socket的博客,其效果很也是很明显。相关的其他博客地址:https://blog.youkuaiyun.com/xpj8888/article/details/83474854https://blog.youkuaiyun.com/xpj8888/article/details/83446667https://blog....原创 2018-10-30 10:16:21 · 2951 阅读 · 0 评论 -
C#.网络编程 Socket基础(四) WPF系统Socket TCP协议 服务器与客户端 不同类型文件传输,解决UI线程(异步委托)与工作线程的卡顿问题
一、简介虽然,本文的前面几篇文章在WinForm中实现了Socket TCP协议 服务器与客户端 不同类型文件传输,详情见 C#.网络编程 Socket基础(一)Socket TCP协议 实现端到端(服务器与客户端)简单字符串通信C#.网络编程 Socket基础(二) 基于WinForm系统Socket TCP协议 实现端到端(服务器与客户端)图片传输C#.网络编程 Socket基...原创 2018-10-28 15:36:55 · 3026 阅读 · 0 评论 -
C#.网络编程 Socket基础(三) 基于WinForm系统Socket TCP协议 实现端到端(服务器与客户端).txt.word.png等不同类型文件传输
一、简介:前面的两篇介绍了字符串传输、图片传输:Socket基础(一)字符串传输https://blog.youkuaiyun.com/xpj8888/article/details/83383355Socket基础(二)图片传输https://blog.youkuaiyun.com/xpj8888/article/details/83443853其实,本文针对Socket基础(二)进一步完成,以便可以进...原创 2018-10-27 18:21:05 · 1498 阅读 · 0 评论 -
C#.网络编程 Socket基础(二) 基于WinForm系统Socket TCP协议 实现端到端(服务器与客户端)图片传输
一、简介本文主要参考相关网页,进行设计,实现简单的基于WinForm的Socket TCP协议 实现端到端(服务器与客户端)图片传输。相关网址为https://www.cnblogs.com/wuzhang/p/wuzhang20141119.htmlhttps://blog.youkuaiyun.com/z5976749/article/details/40743487本文知识的主要继承是来...原创 2018-10-27 10:53:18 · 3107 阅读 · 2 评论 -
C#.网络编程 Socket基础(一)Socket TCP协议 控制台 实现端到端(服务器与客户端)简单字符串通信。关闭防火墙,ping 联通服务端与客户端的IP。
简介: 本章节主要讨论了Socket的入门知识,还未针对Socket的难点问题(比如TCP的无消息边界问题)展开讨论,往后在其他章节中进行研究。注意点:一、服务器(比如台式电脑)的IP为1.1.1.2,那么客户端(其他设备,比如手机,Ipad)连接的一定是服务器的IP,即也是1.1.1.2。这样才能建立起握手:二、客户端的端口必须向服务器的端口看起。 ...原创 2018-10-25 17:47:55 · 2497 阅读 · 6 评论