腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
转载gongluck的CSDN博客
https://blog.csdn.net/gongluck93
专栏作者
举报
149
文章
354046
阅读量
52
订阅数
订阅专栏
申请加入专栏
全部文章(149)
c++(26)
linux(26)
其他(20)
c 语言(20)
windows(16)
python(15)
cocos2d(8)
编程算法(8)
github(7)
unix(7)
socket编程(7)
git(6)
开源(6)
qt(4)
存储(4)
udp(4)
gdi(4)
android(3)
api(3)
json(2)
容器(2)
缓存(2)
ftp(2)
视频(2)
云服务器(1)
lua(1)
xml(1)
html(1)
listview(1)
单片机(1)
postgresql(1)
ide(1)
eclipse(1)
ubuntu(1)
centos(1)
nginx(1)
云直播(1)
移动直播(1)
视频处理(1)
图像处理(1)
http(1)
网络安全(1)
ssh(1)
正则表达式(1)
dns(1)
tcp/ip(1)
markdown(1)
安全(1)
数据处理(1)
https(1)
utf8(1)
sdk(1)
图片处理(1)
bmp(1)
cmd(1)
cuda(1)
draw(1)
exe(1)
ffmpeg(1)
graphics(1)
live(1)
microsoft(1)
ode(1)
rtmp(1)
stackoverflow(1)
vlc(1)
博客(1)
测试(1)
多线程(1)
服务器(1)
工作(1)
用户体验(1)
搜索文章
搜索
搜索
关闭
第30章 客户/服务器程序设计范式
linux
觉得还是按:1 --> 7 --> 9 的顺序选取服务器模型比较(简单)可取。
_gongluck
2018-03-09
587
0
第21章 多播
linux
socket编程
1·多播(组播)地址:224.0.0.0~139.255.255.255 2·发送多播数据报无需任何特殊处理,发送应用程序不必为此加入多播组 3·多播相对于广播的优势在于不会对多播分组不感兴趣的主机增加额外负担 #include "../Gnet.h" int main(int argc, const char* argv[]) { int sendfd, recvfd; const int on = 1; //const int off = 0; struct socka
_gongluck
2018-03-09
1.1K
0
第25章 信号驱动式I/O
linux
(1)建立SIGIO信号的信号处理函数 (2)设置套接字属主 (3)开启套接字的信号驱动式I/O标志 #include "../Gnet.h" int fd; void sig_io(int si
_gongluck
2018-03-09
811
0
第20章 广播
linux
udp
1·广播和多播要求用于UDP或原始IP,它们不能用于TCP。 2·单播IP数据报仅由通过目的IP地址指定的单个主机接收。 3·广播分组去往子网上的所以主机,包括发送主机本身。 4·(一般)除非显式告诉内核我们准备发送广播数据报,否则系统不允许我们这么做。 const int on = 1; setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)); 5·解决竞争状态: a.使用pselect(阻塞信号) b.使
_gongluck
2018-03-09
615
0
第17章 ioctl操作
linux
unix
#include <sys/ioctl.h> int ioctl(int fd, unsigned long request, ...); /usr/src/linux-headers-4.10.0-35/include/uapi/linux/if.h /* * INET An implementation of the TCP/IP protocol suite for the LINUX * operating system. INET is implemented using the B
_gongluck
2018-03-09
1.7K
0
第16章 非阻塞式I/O
socket编程
linux
执行时间: 停等版本(完全阻塞) 》 select加阻塞I/O版本 》 fork多进程版本(Linux下多线程也应该差不多) 》 非阻塞I/O版本 非阻塞读写 #incl
_gongluck
2018-03-09
1K
0
第16章 Sun RPC
linux
unix
RPC:远程过程调用 默认情况下服务器并不多线程化: rpcgen -C data.x -DDEBUG gcc server.c data_svc.c data_xdr.c -o server gc
_gongluck
2018-03-09
1.4K
0
第14章 高级I/O函数
linux
设置套接字时间限制: 1、使用alarm函数和SIGALRM信号 2、使用由select提供的时间限制 3、使用SO_RCVTIMEO和SO_SNDTIMEO套接字选项 #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); ssize_t write(int fd, const void *buf, size_t count); #include<sys/uio.h> struct iovec { void* iov_
_gongluck
2018-03-09
636
0
第13章 守护进程和inetd超级服务器
linux
#include <syslog.h> void openlog(const char* ident, int options, int facility); void syslog(int pri
_gongluck
2018-03-09
1.3K
0
第15章 Unix域协议
unix
linux
socket编程
#include <sys/un.h> struct sockaddr_un { sa_family_t sun_family; /* AF_LOCAL */ char sun_path[104]; /*可能是92~108*/ }; #include <sys/socket.h> //创建两个连接起来的Unix域套接字 int socketpair(int family/*AF_LOCAL*/, int type, int protocol/*0*/, int sockfd
_gongluck
2018-03-09
514
0
第11章 名字与地址转换
dns
socket编程
linux
域名系统(Domain Name System,DNS)主要用于主机名字与IP地址之间的映射。 #include <netdb.h> const char *hstrerror(int err); //全局h_errno被设置错误信息 struct hostent { char *h_name; //地址的正式名称 char **h_aliases; //地址的预备名称的指针 int h_addrtype; //地址类型 int h_length; //地址
_gongluck
2018-03-09
768
0
第8章 基本UDP套接字编程
udp
linux
客户端: #include "../Gnet.h" void do_client(int udpfd, struct sockaddr* pserver_addr, socklen_t server_addr_len) { char buf[MAX_LINE]; int nread; while(fgets(buf, MAX_LINE, stdin) != NULL) { sendto(udpfd, buf, strlen(buf), 0, pserv
_gongluck
2018-03-09
759
0
第7章 套接字选项
socket编程
linux
这一章是一个无比巨大的巨坑!!! 套接字选项相关函数: #include <sys/socket.h> int getsockopt(int sock, int level, int optnam
_gongluck
2018-03-09
555
0
第6章 I/O复用:select和poll函数
linux
socket编程
I/O复用:一种预先告知内核的能力,使得内核一旦发现进程指定的一个或多个I/O条件就绪,它就通知进程。 同步I/O:导致请求的进程阻塞,直到I/O操作完成。 异步I/O:不导致请求进程阻塞。 I/O
_gongluck
2018-03-09
727
0
UNPv13:#第5章#TCP客户/服务器程序示例
linux
Code github //server.c #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <signal.h> #include <wait.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> void sig_chld(int signo)
_gongluck
2018-03-09
683
0
UNPv13:#第3章#套接字编程简介
linux
socket编程
IPv4套接字地址结构 POSIX规范只要求3个字段:sin_family、sin_addr和sin_port。 #include <netinet/in.h> struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; ... }; 通用套接
_gongluck
2018-03-09
740
0
跟我一起写Makefile
c 语言
linux
makefile 介绍 make命令执行时,需要一个 makefile 文件,以告诉make命令如何去编译和链接程序。 首先,我们用一个示例来说明makefile的书写规则。以便给大家一个感性认识。这个示例来源于gnu的make使用手册,在这个示例中,我们的工程有8个c文件,和3个头文件,我们要写一个makefile来告诉make命令如何编译和链接这几个文件。我们的规则是: 1)如果这个工程没有编译过,那么我们的所有c文件都要编译并被链接。 2)如果这个工程的某几个c文件被修改,那么我们只编译被修改的c文件
_gongluck
2018-03-08
1K
0
Brpc学习:简单回显服务器/客户端
linux
sudo apt-get install git g++ make libssl-dev sudo apt-get install realpath libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev sudo apt-get install libsnappy-dev sudo apt-get install gperf sudo apt-get install libgoogle-perftools-
_gongluck
2018-03-08
11.6K
0
linux平台下的写文件刷新
linux
缓存
c语言libc库自带的fflush和linux的sync、fsync、fdatasync,字面上都是刷新缓冲区数据到磁盘(当然,fflush还可以刷新缓冲区数据到标准输入、输出以及错误输出)。下面就分析一下上面提到的四个函数的区别。 一、c语言fflush和linux的sync、fsync、fdatasync的区别 1.接口基本不同 fflush是libc库中提供的函数,平台无关,只有在你使用到c语言的标准文件(FILE)操作时,才涉及fflush。 sync、fsync、fdatasync是系统提
_gongluck
2018-03-08
3.9K
0
搭建 FTP 文件服务
ftp
linux
安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsftpd -y vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系统下最安全和快速的 FTP 服务器软件。 启动 VSFTPD 安装完成后 VSFTPD 会自动启动,通过 netsta
_gongluck
2018-03-08
5.3K
0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档