陋室铭
永远也不要停下学习的脚步(大道至简至易)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 107 下一页
摘要: 比如返回数据为Excel,图片等等非字符串数据。不要使用reader.ReadToEnd();字符串格式的才使用这个。 直接存Stream为cvs或者xls。 public static Stream HttpPost2(string url) { HttpWebResponse response 阅读全文
posted @ 2021-09-10 11:21 宏宇 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1、 解决思路: 1.将获取的网络流转化成内存流 2.内存流位置指向0 2、具体操作: public MemoryStream StreamToMemoryStream(Stream stream) { MemoryStream memoryStream = new MemoryStream(); 阅读全文
posted @ 2021-09-10 11:10 宏宇 阅读(870) 评论(0) 推荐(0) 编辑
摘要: 什么是Referer? Referer 是 HTTP 请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 Referer 。比如我在www.sojson.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com , 阅读全文
posted @ 2021-09-09 18:03 宏宇 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: C# 使用 ClientWebSocket 实现 WebSocket 客户端 C# Net Core 使用 ClientWebSocket 实现 WebSocket 客户端 Net Core 使用 ClientWebSocket 实现 WebSocket 客户端 我们模仿HTML5的实现方式来重写一 阅读全文
posted @ 2021-09-03 19:09 宏宇 阅读(2334) 评论(0) 推荐(1) 编辑
摘要: WebSocket WebSocket协议是一种双向通信协议,它建立在TCP之上,同http一样通过TCP来传输数据,但是它和http最大的不同有两点: WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UA都能主动的向对方发送或接收数据,就像Socket 阅读全文
posted @ 2021-09-03 17:48 宏宇 阅读(2352) 评论(0) 推荐(1) 编辑
摘要: 公司项目使用WebSocket作为主要的请求方式,知其然也要知其所以然,会用也需要知道它的基本原理,所以写此文章分享下自己的浅见,文章主要包括以下内容: WebSocket是什么 WebSocket和Socket区别 建立连接 数据帧格式 发送数据 聊天Demo代码: github.com/mada 阅读全文
posted @ 2021-09-03 17:43 宏宇 阅读(281) 评论(0) 推荐(1) 编辑
摘要: 在WebSocket规范提出之前,开发人员实现实时性较强的功能基本采用两种轮询方法:轮询(polling)和Comet技术。 轮询:轮询技术要求客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动。明显地,这种方法会导致过多不必要的请求,浪费流量和服务器资源。 Comet技术 阅读全文
posted @ 2021-09-03 17:41 宏宇 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 前端代码 form id="form1" runat="server"> <div> <input id="userName" type="text" /> <input id="conn" type="button" value="连接" /> <input id="close" type="bu 阅读全文
posted @ 2021-09-03 17:40 宏宇 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 操作系统Windows8或以上 using System; using System.Net.WebSockets; using System.Text; using System.Threading; class Client { static void Main( string [] args) 阅读全文
posted @ 2021-09-03 16:48 宏宇 阅读(1472) 评论(0) 推荐(0) 编辑
摘要: 1 WebSocket 原理 1.1 背景 WebSocket 是基于Http 协议的改进,Http 为无状态协议,基于短连接,需要频繁的发起请求,第二 Http 只能客户端发起请求,服务端无法主动请求。 1.2 相同点 都是基于TCP的应用层协议。 都使用Request/Response模型进行连 阅读全文
posted @ 2021-09-03 16:44 宏宇 阅读(1769) 评论(0) 推荐(0) 编辑
摘要: 1.以下代码实现一个webSocket连接,在文本输入框中输入内容,点击发送,通过服务器,返回相同的内容显示在下方。 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>WebSocket</ 阅读全文
posted @ 2021-09-02 15:33 宏宇 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 总结 先放结论:datagrid的刷新方式: 重新绑定 ,全部刷新,最常用的,都知道 datagrid.itemsSource=null; datagrid.itemsSource=list; 但有些时候不方便重新绑定,于是 针对数据源有增删,需要实时显示 将datagrid绑定的list<obje 阅读全文
posted @ 2021-09-01 16:39 宏宇 阅读(1757) 评论(1) 推荐(0) 编辑
摘要: 理论上WPF程序需要修改的是数据源而不是修改控件值,修改数据源后是否需要编写重新绑定代码? 你这个是从其它的UI框架(例如asp.net)套用来的习惯。 真正的做法,是不要去遍历控件的 Items,应该去访问你的数据源。再设计 UI 控件时,开发者保证它与数据源(例如实现了 ObservableCo 阅读全文
posted @ 2021-08-31 23:49 宏宇 阅读(832) 评论(0) 推荐(0) 编辑
摘要: windows10 下各浏览器userAgent版本号自行理解 8 -。- 浏览器userAgent Chrome Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396 阅读全文
posted @ 2021-08-27 17:42 宏宇 阅读(2271) 评论(0) 推荐(1) 编辑
摘要: string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()); foreach (char c in invalid) { illegal = illegal. 阅读全文
posted @ 2021-08-23 19:15 宏宇 阅读(515) 评论(0) 推荐(0) 编辑
摘要: task好像没有在线程外取消任务的操作,没有类似于Thread.Abort();这样停止线程的操作,当然,也可以在task生成时,把task所属的线程记录下来,然后用Thread.Abort()停止,因为task本身也是附属与这个线程的,线程停了,task肯定也停了,不过这样那还不如直接用Threa 阅读全文
posted @ 2021-08-20 09:24 宏宇 阅读(1190) 评论(0) 推荐(0) 编辑
摘要: 在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于 “任务的编程模型”所冲击,因为task会比thread具有更小的性能开销,不过大家肯定会有疑惑,任务和线程到底有什么区别? 1:任务是架构在线程之上的,也就是说任务最终还是要抛 阅读全文
posted @ 2021-08-19 20:39 宏宇 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 区别在于Invoke是同步,BeginInvoke是异步。 打个比方(伪代码),后台线程中需要通知UI界面进行刷新 new Thread() { /* 比如读取数据库的方法,比较耗时; var data = GetData(); 读取完成后通知UI线程, this.Invoke(data); //如 阅读全文
posted @ 2021-08-18 22:41 宏宇 阅读(1286) 评论(0) 推荐(1) 编辑
摘要: 一、什么是异步 同步和异步主要用于修饰方法。当一个方法被调用时,调用者需要等待该方法执行完毕并返回才能继续执行,我们称这个方法是同步方法;当一个方法被调用时立即返回,并获取一个线程执行该方法内部的业务,调用者不用等待该方法执行完毕,我们称这个方法为异步方法。 异步的好处在于非阻塞(调用线程不会暂停执 阅读全文
posted @ 2021-08-18 19:12 宏宇 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 普通的async await方法其实是一个同步的异步调用,此方式并不开启新的线程,只是一个多任务处理模式,只是主线程在运行时不会阻塞卡死。此方式只能调用异步方法。 (使用async和await定义异步方法不会创建新线程,所以使用Thread.Sleep(3000)主线程也会阻塞卡死) (由于不是开始 阅读全文
posted @ 2021-08-18 18:51 宏宇 阅读(3254) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 107 下一页