分类 编程语言 下的文章

一、摘要

今天突然被学弟问到MFC的问题,问题是点击对话框叉叉之后对话框关不掉。

说实话,好久不用一时也想不起要怎么解决,只是有种熟悉的感觉。

依稀着记得有个OnCancel事件还是虚函数来着,半天想不起。

于是乎,百度,百度。。。终于找到了,是Detory()事件。

记录下来!顺便记录下VC6下格式化代码的快捷键:Alt+F8

- 阅读剩余部分 -

一、字符串查找

1.1 str.find(sub, start=None, end=None) 在字符串中查找相应的字符串或字符,找到返回下标,否则返回-1

可以设置startend 在指定下标范围内查找,默认为None 表示从字符串的开头到结尾。

s = "HelloWorld"
print s.find("Hello")  //0
print s.find("Hello", 1)  //-1
print s.find("hello")  //-1

- 阅读剩余部分 -

python中的字符串和int类型互转可以说是所有语言里面最简单的了,直接用strint 方法即可:

nNum = 9999999
print str(nNum)
strNum = "99999999"
print int(strNum)

很简单就能实现转换,而且也无需考虑数据大小越界的问题:

bigNum = "999999999999999999999999999999999999999999999999999999999999"
print int(bigNum) + 1 # 1000000000000000000000000000000000000000000000000000000000000

一、概述

前面已经完成了一个完美的多并发CS模型,但美中不足的是没有解决粘包问题。

1.1 什么是粘包问题?

在网络传输中,数据都是通过数据流来传输的,也就是以比特来传输。传输的过程中我们可能会遇到各种各样的问题导致数据传输异常,最常见的就是网络发送时延。网络时延会导致服务端此时收到的数据的时间有偏差,然后就导致数据接收数据的时间不一致。

- 阅读剩余部分 -

一、概述

上一篇实现了一个server和client通信,完成了小写转大写的功能,但是是一个单任务式的响应:客户端发送连接接收响应,程序结束;服务端则接收数据响应数据也结束!就实际需要而言,并没有很大的用处,所以现在我们就给客户端和服务端添加上并发功能。

逻辑其实很简单,就是利用golang的gorutine,一旦来新的连接,就开启一个gorutine去处理,然后响应,直到客户端关闭连接。

- 阅读剩余部分 -

工作的原因接触到socket,要使用socket实现一个长连接。之前只在C/C++上用过socket,而且在学校的时候也只是简单的做聊天室小程序,并没有涉及到长连接。突然用到工作项目上,心里还是有点悬的,毕竟网上的资料也不是很多。这里就一步一步记录下学习的过程、遇到的问题以及最重要的——解决问题的方法。

一、说明

golang中的socket需要用到net包,里面封装好了很多常用的函数方法以及元素类型。而且无需像C一样要经历socket,bind,listen,accept等等流程,只需要简单的几步流程就能完成,非常方便。

- 阅读剩余部分 -