- 博客(15)
- 资源 (11)
- 收藏
- 关注
原创 windows下的Ubuntu子系统的vscode设置
想要在vscode编译器中直接连接Ubuntu进行更简便的开发,需要下载Windows下的子系统Ubuntu。下面介绍一下配置的步骤~1、控制面板——程序——启用或关闭Windows功能——勾选Windows下启动Linux子系统2、进入Windows下的应用商店——输入Ubuntu——下载18.04版本的子系统(最好下18.04的,因为后面换源我只有18.04版本的源,其他版本会不更新不成功)3、下载好了之后点击开始——找到刚刚安装好的Ubuntu18.04——单击进去4、打开之后等待一会—
2021-05-26 18:49:42
1943
原创 Ubuntu如何设置Windows、虚拟机和开发板上的静态和动态IP
什么是IP地址?1)含义。例如: “192.168.19.10” --> 这种形态叫点分制。.每一个IP地址都是32位,如果大家在网络编程中需要使用IP地址,那么就一定要将这32位转化为网络字节。2)如何分配IP地址?我们现在的课室是19课室,大家都是连在同一个路由器上,全班同学的IP地址都是"192.168.19.xx"。中午,助教给每位同学分配三个IP地址,例如:给老关分配了2/3/4这三个数字,这三个IP地址,分别是给windows、linux、开发板。例如,老关决定这样分配:
2021-05-22 09:21:44
681
原创 报错main.c(6): warning: #1-D: last line of file ends without a newline
main.c(6): warning: #1-D: last line of file ends without a newline翻译:main.c(6):警告:#1-D:文件的最后一行没有换行符结束原因:由于在main函数的“}”后,没有加回车解决:只要在main函数的“}”后加回车键...
2021-04-06 19:39:33
872
原创 网络编程:用UDP通信实现组播通信(多播)
用UDP通信实现组播通信(多播)组播通信特点:发送端创建的聊天组,你想加入就加入,不想加入就不接收(想加入才把数据发给组播地址)Ip地址分类A, B, C, D(组播地址)——224.0.0.0 — 239.255.255.255原理图:流程:组播发送端1, 创建UDP套接字socket(AF_INET, SOCK_DGRAM, 0)2, 发送数据给组播地址sendto(sockfd, 发送的数据data, 数据长度size, 0, 组播地址, 地址长度)组播接收端1, 创建UDP
2021-03-31 23:32:21
5636
原创 网络编程:用UDP通信实现广播(一对多)的流程
用UDP通信实现广播接收数据:原理图:广播流程(bcast.c, bcastrecv .c)创建UDP套接字 socket(AF_INET, SOCK_DGRAM, 0)开启广播 int on=1; setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, on, sizeof(on));发送数据给广播地址 sendto(sockfd, 发送的数据data, 数据长度size, 0, 广播地址, 地址长度)函数://开启广播int se
2021-03-31 23:16:35
5427
1
原创 网络编程:udp通信流程代码实现客户端和服务器的连接
udp通信流程代码实现客户端和服务器的连接原理流程:函数使用://接收数据ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);参数: int sockfd 套接字描述符 void *buf 存储接收的数据 size_t len 存储数据的空间大小 int fl
2021-03-31 22:36:06
457
原创 网络编程:epoll多路复用实现多客户端的监听accept和write函数的阻塞解除
epoll多路复用实现多客户端:流程:1、创建epoll2、添加要监听的事件3、监听(阻塞)4、判断原理图int epoll_create(int size);参数:监听事件个数(linux2.6.8可以忽略, 所以只需要填写一个大于0的数)_int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);中文参数:int epoll_ctl(文件描述符, 事件状态, 要监听的文件描述符, 结构体)事件状态:
2021-03-31 19:17:57
795
原创 网络编程:select多路复用监听accept和write函数解除阻塞
select多路复用的使用原理图:创建流程:1、创建套接字2、绑定3、监听函数int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);中文解释int select(最大文件描述符+1, 读文件描述集合, 写文件描述符集合, 异常文件描述符集合, 设置等待时间,NULL表示一直等待直到有响应)操作文件描述符集合的函数void FD_
2021-03-31 17:20:14
1220
原创 网络编程:多线程+json解析实现多客户端、服务器;客户端代码实现远程控制GEC6818开发板的灯
客户端代码实现远程控制GEC6818开发板的灯原理图:完整代码如下://LED服务器端#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <string.h>#include <netinet/in.h>#include <unistd.h>#include <pthread.h>#include <se
2021-03-31 15:38:35
718
原创 网络编程:json多客户端服务器实现
json多客户端服务器实现原理图:服务器代码:#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <string.h>#include <netinet/in.h>#include <unistd.h>#include <pthread.h>#include <semaphore.h>#includ
2021-03-30 20:44:26
203
原创 网络编程:CJSON库来实现json数据的打包和解析
网络数据格式(JSON)通用的数据格式对象{}, 数组[], 键值对key:value对象:{ to:88888, id:99999,data:hello } 对象中数据是键值对象数组:[1, 2, 3 , 4,5 ,6], [“hello”,”world”], [{}, {},{}] 数组中存储的是同类型数据解析流程如下:通过上诉流程实现json数据打包的代码如下:#include "cJSON.h"#include <stdio.h>int main(void){
2021-03-30 20:01:39
445
原创 网络编程:TCP多线程实现多客户端服务器
TCP多客户端服务器->远程控制(此篇用多线程实现!)原理图:完整代码如下:#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <string.h>#include <netinet/in.h>#include <unistd.h>#include <pthread.h>#include <semap
2021-03-30 13:12:43
677
原创 网络编程:用tcp实现文件传输
用tcp实现文件传输文件发送端(tcp客户端)1.网络链接2.发送文件信息(文件名称, 文件大小)3.发送文件内容(分段发送)文件接收端 (tcp服务器)1.网络初始化监听2.接收文件信息(创建一个空文件准备接收数据)3.接收文件内容(分段接收,计算接收得长度==文件大小)完整代码:发文件/*1. 文件发送端(tcp客户端)1.网络链接2.发送文件信息(文件名称, 文件大小)3.发送文件内容(分段发送)*/#include <stdio.h>#i
2021-03-30 09:20:28
7233
4
原创 网络套接字编程:创建客户端和服务器端的流程及完整代码
TCP通信创建客户端和服务器端的流程网络套接字编程套接字 socket , 也可以做进程间通信(ROS)TCP协议通信 (传输层协议)安全可靠传输协议, 需要先建立链接才进行收发数据优点 : 安全,协议层会校验, 缺点:实时性差, 粘包问题(数据流)应用场景: 传输对数据安全高的数据, 文件, 控制指令流程> 服务器端1.创建套接字#include <sys/types.h> /* See NOTES */#include <sys/s
2021-03-30 09:04:34
3034
转载 Linux系统中的 Q t安装教程
Linux系统中的 Q t安装教程加粗样式参考网站:https://blog.youkuaiyun.com/beijiafei/article/details/829522121 下载:先在windows里面保存下载Qt:资源下载网址:http://download.qt.io/official_releases/qt/5.9/5.9.5/这里我选择的是 qt-opensource-linux-x64-5.9.5.run下载语句:wget http://download.qt.io/official_re
2020-11-30 15:33:35
320
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人