
C
文章平均质量分 91
我肚子好饿
人笨就要多记
展开
-
socket 笔记(阻塞处理--非阻塞I/O和超时处理)
1、socket:服务器响应数据丢失,客户端没有接收到数据,recv无限期的阻塞。以下解决方案参考自:TCP/IP Socket编程。(1)非阻塞套接字:更改套接字的行为,使得所有调用都是非阻塞的。对于这样的套接字,如果请求可以立即完成,调用的返回值就会指示成功,否则就会指示失败。不管成功还是失败,调用都不会无限期的阻塞。如果失败是由于调用被阻塞而发生的,系统就会把error设置为EWOULDBLOCK。而connect失败返回的是EINPROGRESS。linux中可以调用fcntl() (fi原创 2021-06-25 20:11:47 · 1034 阅读 · 2 评论 -
stc89c52rc转移到面包板,使用oled屏
面包板的连通:原创 2021-05-30 18:40:21 · 6947 阅读 · 3 评论 -
51最小系统板+STC89C52芯片流水灯
keil下载地址():https://www.keil.com/download/stc isp下载地址:https://pan.baidu.com/s/1UMFbjrLDeAKQShyhuq__uQ提取码:thpq在:http://www.51hei.com/bbs/dpj-88319-1.html找到的。下好后,右击选择管理员运行。原创 2021-05-24 18:54:25 · 3341 阅读 · 11 评论 -
linux c socket编程学习笔记(4)(UDP通信)
1、UDP的一些概念:udp是无连接的,不需要像tcp一样客户端connect,不需要服务器accept接受应答。尽最大努力交付,不保证数据的准确性。没有重传机制,不过可以自己写,如自己写传输后的应答,超时则重传。数据包的长度与实际收到长度不匹配,则丢弃重传等。2、UDP的字符串通信代码:代码是参考TCP/IP Socket编程(c语言实现)书上的代码。书上的代码实现的是一个echo服务器,所以我做了一些修改和补充。与之前一样,还是在本机电脑上回环。头文件Practical.h代码:#inclu原创 2021-03-20 16:30:45 · 416 阅读 · 1 评论 -
linux c socket编程学习(3)(基本函数及概念补充,简单的TCP的文件传输)
1、函数补充:之前的一些函数解析看:https://blog.youkuaiyun.com/qq_36780295/article/details/113259470(1)int close(int socket):close() 告诉底层协议栈发起关闭通信以及释放与套接字关联的任何资源所需的任何动作。如果成功, close()就会返回 0 ;如果失败,则会返回 -1 。(2)地址结构体:通用地址:struct sockaddr{ sa_family_t sa_family; //地址族原创 2021-02-08 15:58:16 · 213 阅读 · 0 评论 -
linux c socket编程学习(2)(构建简单的连接,TCP的通信步骤,字符串传输,简单的echo服务器,errno错误码表)
三次握手:https://www.cnblogs.com/dj0325/p/8490293.html服务器:https://blog.youkuaiyun.com/lanyan822/article/details/76797331、简单的TCP连接:使用connect()来构建连接,连接成功connect()返回0,连接失败返回-1,错误原因存于errno 中。同样的,由于暂时只有一台主机,所以以下还是老样子,连接本地的端口。(1) 创建两个程序文件:touch tcp_server.ctouch tc原创 2021-02-01 18:10:23 · 504 阅读 · 0 评论 -
linux c socket编程学习(1)(一些基本概念及基本的函数使用)
1、相关理论:2、函数的使用:以下这段有部分来自:https://www.cnblogs.com/uestc-mm/p/7630145.html(1) int socket(int family,int type,int protocol)作用:创建套接字。参数:family:指定使用的协议簇:AF_INET(IPv4)、AF_INET6(IPv6)、AF_LOCAL(UNIX协议)、AF_ROUTE(路由套接字)、AF_KEY(秘钥套接字)type:指定使用的套接字的类型:SOCK_S原创 2021-01-28 21:27:37 · 261 阅读 · 0 评论 -
linux使用vim搭建c/c++
1、配置linux下vim的c/c++环境:安装必要的软件:sudo apt-get install vim-scripts vim-doc进入用户文件夹并创建.vimrc:vim ~/.vimrc把以下代码填入.vimrc中:" This line should not be removed as it ensures that various options are" properly set to work with the Vim-related packages availabl原创 2020-12-28 22:14:53 · 916 阅读 · 0 评论