网络编程
文章平均质量分 62
dearQiHao
数据容灾备份
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
socket编程之回声服务器函数的陷阱
由connect函数使用不当导致的小错误 话不多说先看代码: server.c #include<stdio.h> #include<ctype.h> #include<unistd.h> #include<sys/socket.h> #include<arpa/inet.h> #include<string.h> #define SERVER_PORT 9527 int main(void原创 2021-04-23 12:54:13 · 2404 阅读 · 0 评论 -
socket编程之回声服务器
标题回声服务器的实现 结合我们之前对socket函数的分析,现在做一个最简单的回声服务器(由客户端输入一串字符,再由服务器端转换成大写字符回显给客户端) 特别说明:为了突出代码的逻辑部分,博主就没有在写有关的判断代码了,读者有兴趣可以根据各个函数的返回值自行添加错误判断函数。 server.c #include<stdio.h> #include<unistd.h> #include<string.h> #include<sys/socket.h> #incl原创 2021-04-19 14:52:16 · 2678 阅读 · 2 评论 -
实现高并发服务器之 I/O复用
前段时间在忙着学校的期中考试导致博客跟新暂停了。 根据前面所说的我们能够实现一个服务器端服务多个客户端的请求(每来一个客户端,我的服务器端就开一个进程去作相应的处理。)这种实现并发服务器的方法恢复出很大的代价的(需要大量的运算和内存空间,这是因为没每个进程都具有独立的内存空间),所以我们不会推荐使用。 ...原创 2019-11-16 21:14:34 · 3075 阅读 · 1 评论 -
线程同步之 生产者消费者模型详解
前言 博主本来没打算讲这个比较前面的知识的(博主socket编程还有两个部分没讲,进程也才写完回收僵尸进程的三种方法,信号捕捉器也才完结),但是今天有朋友来问博主,什么是生产者消费者模型,所以博主就先为为数不多的朋友把生产者消费者模型讲一讲,希望大家能看懂(没有现成和锁知识的朋友不要急,这部分是写给有基础的朋友看的...原创 2019-11-06 22:37:29 · 3515 阅读 · 3 评论 -
基于 Linux 的文件操作 网络编程的最后一环
Linux下万物皆文件 在了解了客户端和服务器的函数调用之后,我们只需要了解下文件操作就能编写出属于自己的客户端和服务器了,还能让他们进行通信。 这个内容其实是很简单的,所以博主就不再做过多的讲解 打开文件 #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> int open(const c...原创 2019-11-03 10:38:01 · 3016 阅读 · 0 评论 -
socket编程之 connect()函数
再讲了服务器端的函数调用之后,终于来到了我们的客户端编程了(read/write之后会详细介绍的),客户端编程相较于服务器端来说是非常简单的了,在掌握了服务器端编程之后再看客户端编程就会胸有成竹(只需要在学一个函数即可)。 在正式开始之前我们还是来回顾一下前面的流程 服务器端: socket()-->bin...原创 2019-11-02 23:38:30 · 28967 阅读 · 5 评论 -
socket编程之 accept函数的理解
在进入我们的正题之前,再来复习一波编写服务器的函数流程吧 服务器端: socket()-->bind( )-->listen()-->accept()-->read()/write()--->close() socket()//创建套接字 bind()//分配套接字地址 listen()//等待连接请求状态 accept()//允许连接 read()/write(...原创 2019-11-01 22:00:16 · 5393 阅读 · 1 评论 -
网络编程之 信号捕捉器(函数指针与回调函数)
接着我们的信号说下去 之前博主给大家分享到了信号的概念和初步介绍signal函数的形式后就没有继续往下介绍了,实在是因为时间不够,那个时候博主还要上课,现在博主放假了就好好给大家分享一下如何注册信号捕捉,以及信号捕捉器的妙用。 利用信号来处理子进程的回收是非常方便和高效的,因...原创 2019-11-01 20:19:22 · 3435 阅读 · 2 评论 -
网络编程之信号(处理僵尸进程的终极办法)之初识信号捕捉器
接着我们之前的管道所提出来的问题() 在创建子进程之后,子进程究竟何时终止????调用waitpid函数后还要无休止的等待子进程终止吗???”,这显然会是一个问题。因为父进程往往与子进程一样繁忙,因此我们不能只调用waitpid函数来等待子进程终止。那么我们应该怎么办呢??? 信号闪亮登场!!!!! &...原创 2019-10-31 21:32:39 · 2951 阅读 · 0 评论 -
网络编程之 listen()函数的使用与三次握手的理解
listen()函数 在进入我们的函数讲解前大家再回顾一下编写服务器端的流程 服务器端: socket()-->bind( )-->listen()-->accept()-->read()/write()--->close() socket()//创建套接字 bind()//分配套接字地址 listen()//等待连接请求状态 accept()//允许连接 rea...原创 2019-10-31 20:34:47 · 3918 阅读 · 1 评论 -
网络编程之 字节序和深入理解bind()函数
在上一篇博客里,大家也许会对htons()感到疑惑吧,其实就是字节序的转换,所以这篇博客我们就来详细的解释一下什么是字节序。 也就是让大家对 bind函数有更加深刻而性感的认识 计算机是小端字节序,网络中是大端字节序。 内存中的多字节数据相对于内存地址有大端和...原创 2019-10-30 21:03:20 · 3019 阅读 · 1 评论 -
网络编程之bind()的未解之谜
初识bind() 相信大家还记得我们之前写到的服务器函,下面博主还是给出之前服务前端的函数调用顺序。 服务器端: socket()-->bind( )-->listen()-->accept()-->read()/write()--->close() socket()//创建套接字 bind()//分配套...原创 2019-10-29 23:45:42 · 3008 阅读 · 0 评论 -
网络编程函数小总结与初识socket
总结服务器端的函数和客户端的函数 再次声明博主写的都是对于linux下的网络编程,没有写关于Windows的网络编程,也许以后会写到。 这里只是总结一下,具体参数的含义等后面的跟新 1. #include<sys/socket.h> int socket(int domain, int type, int protocol); -->成功:返回文件描述符 失败:返...原创 2019-10-28 22:55:48 · 2833 阅读 · 0 评论 -
网络编程之 进程间的通信之管道的使用
如何使用管道是进程间通信的关键 博主先声明一下,关于处理进程创建以及销毁的方法。 “子进程究竟何时终止????调用waitpid函数后还要无休止的等待子进程终止吗???”,这显然会是一个问题。因为父进程往往与紫禁城一样繁忙,因此我们不能只调用waitpid函数来等待子进程终止。那么我们应该怎么办呢??? &nbs...原创 2019-10-28 20:32:46 · 2267 阅读 · 0 评论 -
网络编程之 socket编程
socket编程(基于linux下的网络编程) 提起网络编程那么我们就不得不说一下socket编程了(本博客主要是围绕下面这本书展开的)。 感谢bingo大佬提供的书籍 链接: https://pan.baidu.com/s/16EXstBLrT6eFYvOB-2WcTA 提取码:vynv 复制这段内容后打开百度网盘手机App,操作更方便哦 其实博主认为socket编程就是套路,很多代码都是可...原创 2019-10-27 23:53:57 · 2944 阅读 · 0 评论 -
进程之 回收子进程之避免僵尸进程的产生
wait() 与 waitpid() 函数的使用. 因为前段时间博主没有把Windows系统带走所以不能实时更新博客,请见谅。接下来就让我们继续开始进程的世界吧。 前面我们说到了如何创建多个子进程那么现在就让我们来消灭那些僵尸进程吧。 那么我们回顾一下,僵尸进程是不能使用kill命令清除掉的。因为kill命令只是用来终止进程的,而僵尸进程本身已经终止了。那么我们有什么办法来清楚僵尸进程呢? ...原创 2019-10-27 20:36:33 · 2310 阅读 · 0 评论 -
socket编程和进程线程同步跟新
博主认为如果这两个分开更新的话,博主不知道要更新多久,所以不如大胆一点,进程线程与socket网络编程一起更新,希望能快一点结束这里的故事从而开启更多新篇章。 ...原创 2019-10-23 22:20:05 · 1653 阅读 · 0 评论 -
网络编程之 创建多个子进程,避免踩坑。
创建多个子进程 那我们就接着上一篇的博客来讲吧。 如果有朋友提前做过实验的话应该回踩到一点坑吧??比如说我只想要创建5个子进程然后让每个进程打印自己的ID号,但是结果却创建出来了多个进程。博主之前也遇到过这些坑,所以博主现在再这里给大家讲解一下,大家所遇到的情况是如何产生的。 下面请朋友们先看一下博主的演示过程(错误示范)。 下面是正确的方式: 其实大家应该能发现错误和正确的代码中间只差了一...原创 2019-10-23 19:46:12 · 2350 阅读 · 0 评论 -
网络编程之 进程
多进程服务器端 首先博主在这里先告诉大家博主学习的书籍是由 [韩]韩圣雨 著 金国哲 译 的 TCP/IP网络编程,把网络变成写的通俗易懂。 下面是百度云链接,大家感兴趣的也可以看一看 链接:https://pan.baidu.com/s/12wRc7uH95z6kR3XCqitEag&shfl=sharepset 提取码:q1mx 也许会有读者问道,你的博客不是讲网络编...原创 2019-10-22 19:56:34 · 1684 阅读 · 0 评论 -
开启新的篇章
网络编程开启了 从今天开始网络编程和数据结构与算法同步跟新????原创 2019-10-17 21:53:52 · 1432 阅读 · 0 评论
分享