自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 问答 (3)
  • 收藏
  • 关注

原创 罗技方向盘SDK开发笔记

这段时间因为项目需求,接触到了罗技G29方向盘的SDK开发,能够参考的资料比较有限,一路磕磕碰碰遇见不少问题,硬着头走了下去,不过最后还是成功了,写下这篇笔记来记录下我的开发过程,也给有需要的人参考,少走点弯路一.开发环境和开发工具开发环境:win10开发工具:vs2017...

2020-03-16 15:46:37 8503 12

原创 Linux网络编程(8)libeven框架

libevent简介:Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和...

2020-03-03 09:30:56 329

原创 Linux网络编程(7)本地套接字通信

**TCP本地套接字通信:**为了实现没有血缘关系的进程之间通信,通常会采用本地套接字进行通信,在两个进程分别绑定好了套接字文件(.sock),运行程序后将产生两个套接字文件,这两个文件共享同一片内核缓冲区,内核将完成两个进程之间的数据传输在不同通信中采用不同的结构体实现流程(TCP实现)服务器1.创建套接字int lfd = socket(AF_LOCAL,SOCK_STREAM,...

2019-08-14 10:00:33 365

原创 Linux网络编程(6)UDP通信,广播和组播

Udp介绍UDP — ⽤户数据报协议,是⼀个⽆连接的简单的⾯向数据报的运输层协 议。UDP不提供可靠性,它只是把应⽤程序传给IP层的数据报发送出去,但 是并不能保证它们能到达⽬的地。由于UDP在传输数据报前不⽤在客户和服 务器之间建⽴⼀个连接,且没有超时重发等机制,故⽽传输速度很快。UDP是⼀种⾯向⽆连接的协议,每个数据报都是⼀个独⽴的信息,包括完整 的源地址或⽬的地址,它在⽹络上以任何可能的...

2019-08-06 15:12:20 385

原创 Linux网络编程(5)epoll实现IO多路转接

NULL

2019-07-29 20:08:28 138

原创 Linux网络编程(4)TCP状态转换-select-poll

使用select实现IO多路转接相关知识TCP的状态转换TCP的状态转换:在进行通信的时候进程所处的状态会随着通信的状态发生改变在一个正常通信的模型中,服务器和客户端的状态变化如下L客户端:CLOSED->(第一次握手后)SYN_SENT->(第二次握手)ESTABLISTHED->(第一次挥手)FIN_WAIT_2->(第二次挥手)FIN_WAIT_2->...

2019-07-17 14:12:22 117

原创 Linux网络编程(3)多进程并发服务器

在单进程通信中,该进程首先需要与客户端建立连接后,才能进行下一步的通信,只能够处理一个客户端的连接和通信请求,在有另一个客户端对其发起通信请求后,该客户端并不能够立即处理,为了解决这个问题,采用多进程并发服务器编程,首先父进程接收连接请求后,将fork出一个子进程,在子进程中完成与客户端的通信,父进程专门用于监听连接请求。多进程并发时候需要考虑的问题1.共享读时共享,写时复制在父子进程中,...

2019-07-13 17:30:04 141

原创 Linux网络编程(2)SOCKET编程与TCP三次握手

linu环境下Socket通信流程实际上是文件(内核的缓冲区)操作服务端socket tcp service创建套接字□ int lfd = socket绑定本地IP和端口(本地ip和端口存储在sockaddr_in结构体中)□ struct sockaddr_in serv;□ serv.port = htons(port);□ serv.IP= htonl(INADDR_AN...

2019-07-12 14:59:16 257

原创 Linux网络编程(1)网络编程基础知识

1.常见的网络应用程序的两种设计模式C/S模式传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信如各种大型应用软件和大型网络游戏优缺点:能够缓存处理大量的数据,可以灵活采用通信协议但是现对于B/S模式开发量巨大繁琐,对用户安全有一定影响B/S模式浏览器()/服务器(server)模式。只需在一端部署服务器,...

2019-07-11 14:14:17 648

原创 linux下git指令和github的使用

一.linux下git常用命令1.git init 创建一个git版本库,这个命令会将当前所在的目录设置为git版本库2.git add 文件名或目录  #表示将当前文件的修改放入缓存区 先不提交3.git commit -m '版本名称' #将缓冲区提交建立一个版本4.geit log 查看版本记录5.git log --pretty=oneline 每条一行查看版本信息...

2019-07-09 20:53:12 202

原创 我行你也行!在Ubuntu 18.04上安装YouCompleteMe

这几天工程需要,需要在Ubuntu 18.04上编写服务器后台代码,原生自带的vim用着各种不习惯,所以尝试了下安装YCM首先查看自己的系统上vim的版本,YCM要求vim版本要大于7.4以上并添加对python2,3的支持安装环境:win10上安装的VM版本是12.0,刚安装好ubuntu 18.04,建议将当前的状态拍摄快照存储下来,以防万一查看自带的vim的版本vim --versi...

2019-05-29 11:26:15 2628 8

原创 win10 安装Visual Studio unlimite 2013碰见的一些问题

这几天重装了下系统,需要重新安装下软件,在安装VS2013的时候出现了问题先将安装好的一些东西卸载干净进入https://github.com/Microsoft/VisualStudioUninstaller/releases下载执行卸载程序,会弹出一个控制台,卸载干净后该控制台会自动关闭,然后VS2013的安装程序就可以重新运行进入windows控制台停止winddows的自动更新...

2019-05-23 20:24:34 712

空空如也

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

TA关注的人

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