网络编程
文章平均质量分 72
duotemplar
无简述
展开
-
游戏网络编程(一)
包括socket编程(socket编程我会分为C/C++,和C#两部分),socket I/O模型,及websocket编程原创 2017-04-01 13:48:56 · 4173 阅读 · 0 评论 -
.Net调试内存泄漏不断增长小记——SocketAsyncEventArgs
现象用C#异步方式实现的网络底层协议,开发的服务器。上线运行一段时间后,发现一开始内存非常稳定,但是过了一定时间后,内存使用量会开始不停的上涨。直到内存耗尽。排查遇到这一问题可以明确的是内存发生了泄漏。由于.Net中,托管对象的内存是由垃圾回收机制负责回收的。所以存在内存增长的情况,往往不是因为没有释放。而是有几种原因分配的内存,比垃圾回收的还要快对象存在引用,没有办法被垃圾回收机制回收。对于原创 2017-07-28 15:25:35 · 5667 阅读 · 0 评论 -
.net 中异步SOCKET发送数据时碰到的内存问题
版权声明:本文为博主原创文章,未经博主允许不得转载。做CS的开发一直都是这样的方式:server端用 C++编写,采用IOCP机制处理大量客户端连接、数据接收发送的问题client端用 C++ 或C# 写,没什么特殊要求。最近工作时间上比较宽裕,决定采用新的方式来处理服务端的工作: C# + SOCKET异步机制(.net里没有IOCP的直接支持)目前正可行性分析阶段,第一步的工作:接收3W个SOC转载 2017-07-27 11:12:07 · 1538 阅读 · 0 评论 -
.net 中异步SOCKET发送数据时碰到的内存问题 (二)
接昨天的文章基本上我们可以认为发送数据的那一部分中有问题:每一次发送,有两个NEW的动作,产生两个新的对象。现在问题的关键是:为什么这两个新的对象没办法被回收!我们先做一实验,代码如下: [csharp] view plain copynamespace Test2 { class Program { static void Main(string[转载 2017-07-27 11:13:41 · 876 阅读 · 0 评论 -
亲历H5移动端游戏微信支付接入及那些坑(三)——支付接入
终于到接入支付了,小小的一个微信支付,居然也写了3篇,好长,好累。接入环境对接入环境,前端的话,应该是以JS为主吧,也有可能是,PHP,JAVA,C++,或者C#都可以。为什么在此特意提一下接入环境呢,是因为这里又有一个小坑(真是对国内的SDK文档无力吐槽了,接过大大小小无数的SDK,没有几个坑基本是不可能的,微信这种算大厂了,文档整理的依旧和屎一样)。首先,如果你是按照正常流程,从其原创 2017-07-31 09:57:37 · 4233 阅读 · 0 评论 -
在Web应用中接入微信支付的流程之极简清晰版 (转)
背景:在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可。没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布下的所有坑。简要介绍几个主要大坑:坑一:关于WeixinJSBridge这个对象查阅网页端调起支付API的开发文档,此对象即旁若无人的映入眼帘。然后我们就理所应当的在代码里调用了丫的。可是,too young too naive……尽管此对象只在微信浏转载 2017-07-25 11:43:39 · 897 阅读 · 0 评论 -
亲历H5移动端游戏微信支付接入及那些坑(四)——参考文档
写完三篇后,我觉得微信支付的文档确实比较乱,所以在此做一个整理汇总支付流程相关文档一下文档已经按照接入顺序排列,请依次参考阅读微信公众号网页授权两种access_token区别,获取用户openid方式 微信支付前端JSSDK接入 微信内公众号支付(JSAPI方式)统一下单 微信内公众号支付(JSAPI方式)支付通知相关验证工具微信支付接口签名验证工具,用户统一下单支原创 2017-08-09 13:07:37 · 1059 阅读 · 0 评论 -
亲历H5移动端游戏微信支付接入及那些坑(一)——支付方式与坑
最近项目进入中后期,开始接入支付。要求是使用微信支付,呵呵,好笑的是不知老板从哪里听来的,居然和我说只要是熟手,接个微信支付两小时搞定,我只能再次呵呵。先不说支付处理逻辑,而且公司本来也没现成的接入模块,再加上我对国内SDK的文档水平,我只能说,前途必定是暗坑无数,还两小时,除非是有现成接入模块,外加不用写支付后处理逻辑,配配参数了事的那种,否则哪有那么简单。(如有大神两小时内从无到有做完整个接入,原创 2017-07-24 13:10:20 · 44574 阅读 · 12 评论 -
亲历H5移动端游戏微信支付接入及那些坑(二)——获取Openid和授权
第一篇中将一些坑说明,那么这篇开始正式进入接入步骤。具体的参数说明,我不会列出,毕竟微信官方文档都有,我想大家都看的懂,而且这接口也有可能微信会变动,所以不列出来,也是不想引起大家的误解,接入步骤只起一个抛砖引玉的作用。接入步骤获取OpenId和授权。首先聊一下OpenId,这个东西相当于一个用户id,只是,它并不是用户的微信号,也不是用户在微信后台的标识(至少不全是)。openid是当用户,经过授原创 2017-07-24 16:34:40 · 13886 阅读 · 4 评论 -
数字证书的理解心得
私钥不可导出的证书都将在CSP密钥容器中存放私钥。密钥容器中的私钥是无法导出(包括编程)的。但尽管无法导出,却可以用它来签名。 每个CSP有一个密钥库,密钥库用于存储密钥。而每个密钥库包括一个或多个密钥容器(Key Containers)。每个密钥容器中含属于一个特定用户的所有密钥对。每个密钥容器被赋予一个唯一的名字 Certificate Version #版本号,原创 2017-07-06 20:13:39 · 5494 阅读 · 0 评论 -
Makecert傻瓜教程——简单使用说明
makecert生成数字证书的简单使用教程原创 2017-07-06 19:20:07 · 15430 阅读 · 3 评论 -
游戏网络编程(三)——WebSocket入门及实现自己的WebSocket协议
游戏网络编程(三)——WebSocket入门及实现自己的WebSocket协议(一)WebSocket简介短连接:在传统的Http协议中,客户端和服务器端的通信方式是短连接的方式,也就是服务器端并不会保持一个和客户端的连接,在消息发送后,会断开这个连接,客户端下次通信时,必须再建立和服务器的新连接,这就是短连接。在短链接的情况下,客户端必须不停的主动发起请求,而服务器始终被动的响应请求,来原创 2017-06-14 14:29:50 · 3254 阅读 · 0 评论 -
浅谈JSONP跨域请求
本文转载自老胡(laohu)的博客目录(?)[+]第一次听说JSONP跨域请求还是去年刚入职实习的时候,也借那个机会在网上好好了解了下用法,但是对于其如何实现还是不太明白。昨天一同事问我当时对JSONP的使用情况,突然发现一年多没用,对于这个跨域请求技术又忘的差不多了,刚好不知道这个星期该写篇什么方面的文章,那就趁这个机会再把JSONP琢磨琢磨顺便把过程记录下来,免得下转载 2017-07-12 20:16:26 · 221 阅读 · 0 评论 -
JSONP跨域访问浅谈
最近在接微信登录和支付,遇到了跨域访问的问题。研究了下,这里简单谈一下自己的一些心得同源与跨域所谓同源是指,域名,协议,端口相同。当任意一个不相同时,就是跨域。同源策略是限制浏览器的JS加载不同源的资源。所谓跨域,就是访问非同源的资源。跨域问题就是浏览器只能访问同一个源的资源(文件,图片,页面,脚本等),非同源的资源,浏览器不能访问。要说明的是,如果不是通过浏览器来访问跨域的资源,那就不存在跨域的问原创 2017-07-12 20:07:32 · 362 阅读 · 0 评论 -
游戏网络编程(二)
游戏网络编程(二)本篇介绍Socket编程,因为我觉得每个开始接触网络编程的人应该都是先从了解socket编程开始的吧。后面介绍的WebSocket也会和Socket编程的概念做比较,因此先介绍下Socket编程。游戏网络编程二什么是Socket常用的Socket函数APIWinSockCSocketSocket函数介绍socketbindlistenac原创 2017-04-02 12:09:39 · 2209 阅读 · 0 评论 -
WebSocket的C++服务器端实现
WebSocket的C++服务器端实现 由于需要在项目中增加Websocket协议,与客户端进行通信,不想使用开源的库,比如WebSocketPP,就自己根据WebSocket协议实现一套函数,完全使用C++实现。代码已经实现,放在个人github上面,地址:https://github.com/jice1001/websocket.git。下面进行解释说明:一、原理 Webs转载 2017-04-01 16:53:30 · 1515 阅读 · 0 评论 -
伯克利Socket介绍
Berkeley socketsFrom Wikipedia, the free encyclopediaBerkeley sockets is an application programming interface (API) for Internet sockets and Unix domain sockets, used for inter-process转载 2017-04-01 13:51:11 · 2758 阅读 · 0 评论 -
EF6存储错误的解决
最近使用EF的时候,前端程序员反应数据库运行一旦时间会发生一个存储错误,查看日志后,发现是EF抛出的异常,具体异常消息为“The object cannot be deleted because it was not found in the ObjectStateManager”经过调试,发现是对EF6中的DbSet调用RemoveRange函数时抛出的异常。让人很头痛,也没有精力去研究EF原创 2017-09-30 11:10:19 · 1318 阅读 · 1 评论