- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 网络编程长链接和短链接
所谓短链接:客户端发送请求,服务端反馈信息,如果客户端不再发送请求(可能是多个操作任务),我客户端就断开链接。长链接:不管客户端是否要发送请求,我服务端都主动推送信息,所以客户端不能断开链接在整个程序运行过程中。而且要有维持心跳的保活机制
2015-04-29 13:58:36 368
原创 网络编程思想
网络编程:要以多线程异步的方式来考虑问题。比如我用tcp发送数据包的时候:一般定义包头,和包体的方式包头中一般包括:包头的特殊字段(magic):用来指明包头的开始(定义好之后,包头一定要是固定长度,又用取到完整长度的包头)。主要是防止粘包。比如在接受方读取数据的时候,一个半的数据包己经到达,一个通过特殊字段可以判断我数据开始就是包头,第二个是我可以得到后边的半包的开始。如果我包头
2015-04-29 13:24:31 395
原创 strlen,与字符数组,memcpy,strcmp,strncmp
typedef struct headStr{ char magic[6]; //suorui char cmdCount;//3 int infoLen; //unsigned long crcValue; uint crcVal
2015-04-27 18:27:28 340
原创 tcp网络传输,数据类型问题解说
不管过程中是什么数据类型,传输到发送接口的数据必须是char *,并且最好过程中明确统计字符串的长度。packetLen=(16+cmdInfo.length())*sizeof(char);//对于单纯的string或者qstring可以用c++自带的取长度的函数取字符串长度,如果是对于c的结构体等强制转换成char*后,拼接成的字符串,一定不要用自定义的函数取长度,必须过程中分段求
2015-04-27 13:44:51 1539
原创 char*(结构体被char*后),string注意事项
typedef struct headStr{ char magic[6]; char cmdCount; int infoLen; unsigned long crcValue;}*pHeadInfo,headInfo;//(6+1+1(补齐))+4+4
2015-04-25 17:41:04 1539
原创 QT编程No such slot的问题
以后要是碰到no such slot的问题,查看如下情况1、看类声明中有没有Q_OBJECT2、看slot函数有没有声明3、查看信号函数和槽函数是参数是否一致,如果不一致,也会出现不能连接情况3、查看slot有没有出现拼写错误
2015-04-21 16:47:32 670
原创 qt配置文件读写及路径设置,ini语法
在qtcteate,中添加.ini文件后,自动生成的pro工程文件中,会把.ini文件默认写到DISTFILES+=cmd.ini环境变量,这样的话,系统会当成生成的文件,自动生成到debug文件夹下。如果要当配置文件,并且配置文件在当前工程目录下,应在程序中这样打开QSettings *cmdSets=new QSettings("./cmd.ini",QSettings::In
2015-04-20 13:19:24 5045
原创 qt网络编程
qt中如果出现“undefined reference to qtcpsocket”类似的错误,就说明没有相关的库(或者没有正确的路径)以上问题,是在qt网络编程时,没有指向network库所造成的。解决方法如下:加入networkQT += core gui network
2015-04-16 14:32:47 383
转载 QT数据库QSqlQuery
SQL执行操作QSqlQuery提供了对数据库记录的Select、Insert、Update、Delete操作。SELECT操作:QSqlQuery query;query.exec("SELECT name, salary FROM employee WHERE salary > 50000");while (query.next()) {
2015-04-10 18:03:10 943
原创 ubuntu下创建数据库的常用命令,及流程,以及sql脚本文件格式
1:mysql -uroot -p19880719(密码为安装数据库时设置的密码)进入mysql之后会出现mysql->help就会命令提示2:show databases;(一定要加;)3:use databasename;4:如果是以文本命令形式建立数据库如:命令必须以;结束,否则创建会出问题。create database hotel; use
2015-04-10 11:32:49 949
转载 ldconfig和ldd用法
一、ldconfigldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig。 ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连
2015-04-10 09:31:34 174
原创 qt编译,以及其内部工程编译问题
首先在pc上安装好qt之后,最好设置当前qt相关命令的路径(比如之前是4.8版本的,现在安装了5.3的,就直接把当前路径设置为5.3版本的qmake路径,这样的话,避免了,编译5.3相关的工程的时候出现错误[])
2015-04-09 16:47:29 239
转载 Ubuntu修改环境变量
Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。文章转载自http://leonhongchina.blog.163.com/blog/static/180294117201132611320112/修改用户环境变量用户环境变量通常被存储在下面的文件中:~/.profile~/.bas
2015-04-09 12:00:00 240
原创 ubuntu下qt与mysql环境搭建
chen@chen-Lenovo:~$ ldd /usr/lib/qt4/plugins/libqsqlmysql.so /usr/lib/qt4/plugins/libqsqlmysql.so: /usr/lib/i386-linux-gnu/libmysqlclient_r.so.16: no version information available (required by /usr/li
2015-04-09 11:45:49 515
转载 QSqlDatabase: QMYSQL driver not loaded
问题描述:[html] view plaincopyQSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7 false 引起报错的示例代码如下:[html] view plainco
2015-04-09 11:40:51 308
转载 QSqlDatabase: QMYSQL driver not loaded
在用qt做图形界面开发,连接数据库,显示出错:QSqlDatabase: QMYSQL driver not loaded查找一些资料发现都是说没有安装libqsqlmysql.so,使用命令locate libsqlmysql.so发现/home/×××/Qt5.3.2/5.3/gcc/plugins/sqldrivers/libqsqlmysql.so/home/×××/Qt5
2015-04-09 11:21:50 655
原创 qt与mysql编程注意问题
执行mysql文本命令时:1:mysql -uroot -ppassword2:source mysql_common.sql如果想插入中文到数据库1. 停止MySQL服务:sudo /etc/init.d/mysql stop 2. 编辑MySQL配置文件:sudo gedit /etc/mysql/f 3. 在 [client], [mysqld_safe], [mys
2015-04-08 14:53:57 197
原创 一个比较好的讲解tcp三次握手以及其应用层协议数据包的解读的网站
http://blog.csdn.net/wohao2000/article/details/80653
2015-04-03 15:10:24 564
原创 vs2010路径问题
用vs2010搭建live555开发环境的时候出现如果双击mediaserver.exe,则客户端vlc可正常播放影视频(test。264)但是如果直接用vs2010跑mediaserver,则客户端vlc就显示不能打开播放的视频(test。264)。出现这种问题都是vs2010默认路径的问题双击跟按按F5程序启动的认的当前路径不一样的。如果你是双击,test。264应
2015-04-01 10:13:00 319
ubuntu12.04及以上配置vim成c/c++,qtIDE开发环境
2015-01-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人