自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

watsy

博客地址转移。以后会迁移到新地址:http://watsy0007.github.io

  • 博客(12)
  • 收藏
  • 关注

原创 用python写1个简单的聊天服务器8-version0.1收尾工作

通过以上分析以后,大致的结构和逻辑其实都已经清晰了。换其他语言实现起来,也只是时间和API熟悉的问题。代码下载https://github.com/watsy0007/ChatServer后期还需要继续更新解决的问题1:连接数和性能测试2:推送iOS3:更换数据库,部署原本可以1篇文章写完的事情,分这么多,主要是整理一下自己一直以来混乱的

2013-06-28 18:40:20 1302

原创 用python写1个简单的聊天服务器6-用户模型

简单的小型服务器首先需要维护的是1个在线用户列表在线列表封装,常见的用户上下线后台逻辑等操作而1个普通用户。需要涉及维护的有:1:socket连接2:用户资料(DBUser)3:好友列表4:在线与否,可以省略

2013-06-28 18:23:53 1628

原创 用python写1个简单的聊天服务器7-业务处理

经过前面的协议处理。DB封装,用户封装以后。下面进入业务处理单元。在logic.py的Logic类中。1:识别协议与分发def handlePackage(self, connection , package): """ 逻辑处理部分 """ if isinstance(package, PackageRegi

2013-06-28 18:18:43 1747

原创 用python写1个简单的聊天服务器5-DB层处理

一直以来都很讨厌数据库,觉得数据库一直是我的噩梦。最近开始考虑分层思想以后,了解ORM以后,觉得数据库其实没那么讨厌,没那么难。于是开始设计字段。用户DROP TABLE IF EXISTS "user";CREATE TABLE "user" ( "uid" integer NOT NULL, "username" text(32,0) NOT

2013-06-28 18:12:04 1338

原创 用python写1个简单的聊天服务器4-协议设计与处理

因为tcp是数据流。所以1段数据可能会被分开发送或者接收,这样在服务器接受以后就存在1个问题。如何确认获取到的协议完整性?这就需要服务器粘包处理。C++游戏服务器协议部分一般都是采用 包长+协议号+数据通过读取2或者4个字节包长,根据包长从数据流中提取固定长度的内容,然后判断协议号,对应到struct以后提取数据。想一下最终决定采用json格式。协议

2013-06-28 17:50:05 2138 5

原创 用python写1个简单的聊天服务器3-目录结构

确认TCP服务器框架以后。下面的事情就确认可以继续了。用pycharm创建1个工程chatserver新建python文件chatdb.sqlite 测试用的db存储db.py - db转换,转换得到对象login.py - 业务处理models.py - 模型与对象protocol.py - 协议server.py - 服务器tcpst

2013-06-28 17:33:03 2544

原创 用python写1个简单的聊天服务器3-TCP服务器选择

有了文章2的分析以后下面需要做的事情是选择1个TCP服务器。自己写1个TCP服务器考虑到快速实现,不现实。最终有3个框架twistedgeventtornadogoogle了一下资料以后。考虑gevent tornado比较理想的目标是gevent,不过测试1天,作为tcp服务器时候。read函数并没有补丁为非阻塞方法。放弃剩下的就是

2013-06-28 17:14:47 3322 1

原创 用python写1个简单的聊天服务器2-项目需求与服务器框架

因为项目为公司项目,不方便开源。跳过中间草图原型,抽象数据层和原始界面以后。直接考虑服务器端的需求。1:注册登录2:根据关键数据获取陌生人3:添加陌生人-同意,拒绝4:加入好友以后,实时收发消息,离线以后缓存到服务器数据库5:删除好友6:上线下线通知下面是好友交互流程:第一步考虑服务器的架构得到如下(ps:不标

2013-06-28 17:05:24 3719

原创 用python写1个简单的聊天服务器-项目启动原因

在开发ios的时候。出于一些原因,需要1个聊天服务器。实现实时在线聊天。以前用过XMPP的。但是有些问题没解决好。想来还是自己找源码实现1个比较好。正好和大牛聊天,聊了一下2年来的开发历程,走的的弯路。得出一些心得以后,决定自己动手做1份。在考虑服务器端编程的时候,大家一致推荐C++,考虑到项目比较小,C++的同步框架,代码调试。有段时间没有练手,最终决定采用pyt

2013-06-28 16:52:58 2002

原创 python 检查英文文章内的单词数量

参考http://blog.csdn.net/yidangui/article/details/8548511直接发代码# -*- coding: utf-8 -*- import os,sys info = os.getcwd() #获取当前文件名称 fin = open(u'谷歌C++编程代码规范.txt') info = fin.read() alist = i

2013-06-19 23:13:58 5824

原创 android学习 gridView + android 流程个人图解

最近因为一些小事,尝试下android.学习java学习代码:http://blog.csdn.net/hellogv/article/details/4567095代码部分就不发了。大家可以看作者的对于android粗浅理解不对的欢迎指正。

2013-06-08 16:36:01 745

原创 client 提交post 到 django出现403错误

当采用客户端象django的服务器提交post请求时。会得到403,权限异常。因为django针对提交的请教,有校验。所以会如此。解决办法http://stackoverflow.com/questions/6800894/django-returns-403-error-when-sending-a-post-request导入模块from django.view

2013-06-03 00:48:09 15568

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除