- 博客(16)
- 收藏
- 关注
原创 UDP畅聊
简介:项目是在Linux系统中CentOS6.5的环境下编写完成的,可以实现一个基本的群聊功能。客户端向服务端发送消息,服务器接收这条消息并将它发送给所有客户端,用到json库对消息序列化以及反序列化。ncurse库绘制客户端窗口。原理图 部分代码展示如下(用到哪些模块)服务器udp_server.h#pragma once#include <iost...
2018-10-05 17:27:31
265
原创 MySQL学习笔记
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。简单的操作:创建数据库:create database 数据库名;进入当前数据库:use 数据库名;查看数据表:show tables;创建数据表:create table 表名( 属性名 类型(长度), 属性名 类型(长度),);...
2018-10-04 17:07:22
267
原创 TCP协议
TCP协议格式:源/目的端口号 :表示数据从哪里来,到哪个进程去;4位TCP报头长度:表示TCP头部有多少个32位bit;6位标志位: URG: 紧急指针是否有效 ACK: 确认号是否有效 PSH: 提示接收端应用程序立刻从TCP缓冲区把数据读走 RST: 对方要求重新建立连接; 我们把携带RST标识的称为复位...
2018-10-03 21:10:25
366
原创 OSI七层模型、TCP/IP四层模型
计算机网络体系结构图:OSI七层网络模型:称为开方式系统互联参考模型,把网络从逻辑上分为了七层,是一种框架的设计方法,主要的功能是帮助不同类型的主机实现数据传输;优点是将服务、接口和协议区分开来,概念清楚,理论完整,使不同的系统不同的网络之间实现可靠的通讯。1.物理层(Physical Layer) 物理层位于 OSI 参考模型的最低层,它直接面向原始比特流的传输。为了...
2018-10-03 12:20:47
637
原创 UDP协议
UDP协议格式: 16位UDP长度表示整个数据报(UDP首部+UDP数据)的最大长度,校验和出错就直接丢弃 UDP协议的特点:无连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接; 不可靠: 没有确认机制、重传机制; 如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息; 面向数据报: 不能够灵活的控制读写数据的次数和数量 ud...
2018-10-02 22:43:48
293
原创 基于http协议的Web服务器
原理:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认端口:80)的TCP连接。HTTP在此端口监听客户端发送过来的请求。一旦收到请求,服务器向客户端回复一个状态行,比如:“HTTP/1.0 200 OK”,和响应消息。HTTP协议:超文本传输协议,是互联网上使用的最广泛的协议,HTTP是一个客户端和服务器端请求和应答的标准(TCP)。HTTP请求:HTTP请求由...
2018-10-01 11:47:41
2174
原创 数据结构之排序算法
插入排序:void Insertion_sort(int array[], int len){ int i, j, temp; for (i = 1; i < len; i++) { temp = array[i]; j = i - 1; while ((j>=0) && (array[j] > temp)) { array[j...
2018-09-30 17:57:31
304
原创 链表面试题
目录:1.从尾到头打印单链表2.逆置单链表3.删除一个无头单链表的非尾节点(不能遍历链表)4.在无头单链表的一个节点前插入一个节点(不能遍历链表)5.合并两个有序链表, 合并后依然有序6.查找单链表的中间节点,要求只能遍历一次链表7.约瑟夫环1.从尾到头打印单链表//非递归void PrintR(SListNode *pFirst){ SListNode...
2018-08-16 16:00:47
353
原创 数据结构之链表
链表头文件SList.h源文件SList.c链表:一种链式存储的线性表,用一组地址任意的存储单元存放线性表的 数据元素,称存储单元为一个节点头文件SList.h#pragma once#include <stdlib.h>#include <assert.h>#include <stdio.h>typedef int DataT...
2018-08-15 21:26:07
578
原创 数据结构之顺序表动态
顺序表动态头文件SeqListD.h源文件SeqListD.c头文件SeqListD.h#pragma once#include <stdlib.h>#include <assert.h>#include <stdio.h>typedef int DataType;struct SeqListDynamic { DataTyp...
2018-08-14 10:35:49
261
原创 线程中的一些函数
线程在Linux下用pcb来模拟的,轻量级进程 操作系统cpu调度的一个基本单位 是一个程序的执行线路创建一个线程int pthread_create(pthread_t *thread, //IDconst pthread_attr_t *attr, //设置线程的属性,attr为NULL表⽰使⽤默认属性void *(*start_routine) (void *)...
2018-08-11 10:30:01
264
原创 C++基础初步认识
初识C++C++关键字 命名空间 C++输入&输出 缺省参数 函数重载 引用 内联函数 CentOS中g++的下载安装 【面试题】C++关键字命名空间 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的 成员。C++输入&输出 cin /...
2018-08-08 19:39:25
388
原创 数据结构之顺序表
顺序表 头文件(SeqList.h): 源文件(SeqList.c):顺序表:用一段地址连续的存储单元依次存储数据元素的线性结构地址连续的空间,一般情况下采用数组,但数组有静态数组和动态数组, 所以顺序表分为:静态顺序表和动态顺序表 头文件(SeqList.h): #pragma once #include <stdio.h>#...
2018-08-01 10:37:23
368
原创 Linux中vim怎么显示行号
VIM中怎么显示行号:很多初学Linux的小伙伴也想知道vim如何显示行号,如下所示 那么首先我们打开Linux终端,输入输入如下命令: vim ~/.vimrc 打开之后是空的,这时候我们可以进行编辑: set nu 或 set number //显示行号set nonu 或 set nonumbe...
2018-07-27 17:45:14
1209
原创 VS 三子棋程序代码
简单的三子棋人机对战:1.头文件game.h: #ifndef __GAME_H__#define __GAME_H__//函数的声明#include <stdio.h>#include <stdlib.h>#include <time.h>#include <windows.h>#pragma warning(disa...
2018-04-18 17:41:32
725
原创 c语言中的操作符
1、算术操作符+ - * / %1.除了%操作符之外,其他几个操作符可以作用于整数和浮点数。2.对于/操作符如果两个操作符都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。3.%操作符的两个操作数必须是整数。返回的是整除之后的余数。2、移位操作符<<左移操作符 左边抛弃,右边补0,>>...
2018-04-06 17:09:10
245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人