猿掌柜 发布的文章 - 社畜猿
首页
🕒归档
📖留言板
💌关于
搜 索
1
我的小世界——博客上线啦
1,323 阅读
2
写于小程序上线之前
1,209 阅读
3
近期准备上线本站小程序
868 阅读
4
利用CSS3制作旋转3D立方体
745 阅读
5
RabbitMq C# .NET 接收广播 消费者 订阅者 简单使用 ~~
381 阅读
💯C#
🐘PHP
📝烂笔头
♉侃侃
登录
搜 索
标签搜索
React Native
rabbmitmq
thinkphp
Mysql
Typecho
socket
uniapp
tinkphp
php
echart
C语言
程序猿
累计撰写
130
篇文章
累计收到
17
条评论
首页
栏目
💯C#
🐘PHP
📝烂笔头
♉侃侃
页面
🕒归档
📖留言板
💌关于
用户登录
登录
找到
130
篇与
相关的结果
2021-06-29
又是出差半个月~~~这次是检测~
自打上上周6.17到现在又过去了差不多两周时间了~~,明天都月底了,好在顺利的话检测明天最后一项就要结束了,然后后天回南京感觉在武汉的这几天要把这辈子的热干面吃完了~~~每天酒店给的早餐券就是热干面套餐~~~这检测做的,有些是真的过不了啊,硬件不行,只能软件来凑唉,真难~~~好在7月1号不出意外就可以撤了,哈哈哈武汉也忒热了,跟南京差不多~~~~感觉比南京还厉害好吧~~~电科院的大西瓜真甜不知道明天是否再开一个2021年6月29日于武汉光谷世界城
2021年06月29日
29 阅读
0 评论
2 点赞
2021-05-24
Echarts的scatter3D 各个属性具体含义详解备注
Echarts的scatter3D 各个属性具体含义详解备注
2021年05月24日
23 阅读
0 评论
5 点赞
2021-04-19
thinkphp+ rabbitmq发送16进制到队列
thinkphp+ rabbitmq发送16进制到队列
2021年04月19日
44 阅读
0 评论
4 点赞
2021-04-19
PHP版—RabbitMQ各方法详解
RabbitMQ各方法详解
2021年04月19日
65 阅读
0 评论
1 点赞
2021-04-16
tp6 使用phpoffice,将excel表里的数据导入至数据库
tp6 使用phpoffice,将excel表里的数据导入至数据库
2021年04月16日
49 阅读
0 评论
1 点赞
2021-04-16
ThinkPHP6.0 导出 Excel 案例
ThinkPHP6.0 导出 Excel 案例
2021年04月16日
50 阅读
0 评论
0 点赞
2021-04-09
c# 做ping检测
ping检测c#版
2021年04月09日
58 阅读
0 评论
2 点赞
2021-03-20
thinkphp6开启定时任务
thinkphp6开启定时任务
2021年03月20日
126 阅读
1 评论
8 点赞
2021-03-19
收藏一些有意思的网站
收藏了一些有意思的网站1.移除音乐软件的加密格式,批量在线转mp3格式支持「 网易云音乐NCM在线转MP3格式 」支持「 QQ音乐mgg转MP3 | qmc转MP3 | mflac转MP3 」支持「酷我音乐kwm格式转MP3 」可以批量转码,速度很快,但是下载就有点坑了,只能一个个的点,不可以打包下载网易云、QQ、酷我 点击跳转2.一个免费看电影的网站点击直达
2021年03月19日
92 阅读
0 评论
5 点赞
2021-03-17
Socket 循环接收消息 粘包 半包(C#)
这两天在学习socket收发消息的问题,学到了新知识1、对于一次接收到大于接收缓存的消息,并且连续接收消息,两段消息可能同时被接受到一端缓存中,叫粘包;2、收到的消息不足一个接收缓存,交半包; 程序的几个注意点:1、必须要循环接收消息;2、消息头必须要有长度标志字节(这里是用的前四个字节来保存实际消息体的长度);3、除了接收缓存rev之外还需要一个cache缓存byte[] ,用来保存一条完整的消息;4、cache缓存可能不足一个接收缓存,那后面不足的会有0 补充 ,半包;5、cache缓存 可能刚好一个接收缓存,并且包含>= 1个完整消息(等于的时候无粘包,大于的时候有粘包);6、cache缓存 大于一个接收缓存,这里需要循环接收(用长度标志字节来判断),直到接收到 >= 一个完整消息,还是5、的情况;7、接受完一个完整消息后,需要清空缓存,或者将有粘包的字节重新拷贝到cache缓存;Socket soc = obj as Socket; int recvlen = 0; byte[] cacheBuf = null; byte[] recvBuf = new byte[100]; if (soc != null) { while ((recvlen = soc.Receive(recvBuf)) > 0) { if (cacheBuf == null) { cacheBuf = new byte[recvlen]; Array.Copy(recvBuf, cacheBuf, recvlen); } else { byte[] t = new byte[cacheBuf.Length + recvlen]; Array.Copy(cacheBuf, t, cacheBuf.Length); Array.Copy(recvBuf, 0, t, cacheBuf.Length, recvlen); cacheBuf = t; } if (cacheBuf.Length <= 4) continue; int msgl = BitConverter.ToInt32(cacheBuf, 0); while (cacheBuf!=null && msgl + 4 <= cacheBuf.Length) { byte[] msgbyte = new byte[msgl]; Array.Copy(cacheBuf, 4, msgbyte, 0, msgl); test(msgbyte,soc);//拿到完整消息,具体消息操作 if (msgl + 4 == cacheBuf.Length) { cacheBuf = null; } else { byte[] tmpByte = new byte[cacheBuf.Length - msgl - 4]; Array.Copy(cacheBuf, msgl + 4, tmpByte, 0, cacheBuf.Length - msgl - 4); cacheBuf = tmpByte; } } } }
2021年03月17日
144 阅读
2 评论
4 点赞
1
...
6
7
8
...
13