开发与安全

249 篇文章
68 人订阅

Socket编程

s1mba

linux网络编程之socket(十四):基于UDP协议的网络程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/...

1302
s1mba

套接字socket 的地址族和类型、工作原理、创建过程

注:本分类下文章大多整理自《深入分析linux内核源代码》一书,另有参考其他一些资料如《linux内核完全剖析》、《linux c 编程一站式学习》等,只是为...

28111
s1mba

[置顶] linux网络编程之socket(十四):基于UDP协议的网络程序

一、下图是典型的UDP客户端/服务器通讯过程 ? 下面依照通信流程,我们来实现一个UDP回射客户/服务器 ?   #include <sys/types.h> ...

2530
s1mba

linux网络编程之socket(十三):epoll 系列函数简介、与select、poll 的区别

一、epoll 系列函数简介 #include <sys/epoll.h> int epoll_create(int size); int epoll_cr...

2480
s1mba

linux网络编程之socket(十一):套接字I/O超时设置方法和用select实现超时

注:如无特殊说明,sockfd 原始状态都是阻塞的。 一、使用alarm 函数设置超时 void handler(int sig) { } signal(SIG...

8620
s1mba

linux网络编程之socket(九):使用select函数改进客户端/服务器端程序

一、当我们使用单进程单连接且使用readline修改后的客户端程序,去连接使用readline修改后的服务器端程序,会出现一个有趣的现象,先来看输出: 先运行服...

4610
s1mba

linux网络编程之socket(十):shutdown 与 close 函数 的区别

假设server和client 已经建立了连接,server调用了close, 发送FIN 段给client(其实不一定会发送FIN段,后面再说),此时serv...

3110
s1mba

linux网络编程之socket(七):一个进程发起多个连接和gethostbyname等函数

一、在前面讲过的最简单的回射客户/服务器程序中,一个客户端即一个进程,只会发起一个连接,只要稍微修改一下就可以让一个客户端发起多个连接,然后只利用其中一个连接发...

2620
s1mba

linux网络编程之socket(六):利用recv和readn函数实现readline函数

在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据。如果应用层协议的各字段长度固定,用readn来读是非常方便的。例如设计一种客户...

2610
s1mba

linux网络编程之socket(五):tcp流协议产生的粘包问题和解决方案

我们在前面曾经说过,发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,...

3080
s1mba

linux网络编程之socket(四):使用fork并发处理多个client的请求和对等通信p2p

一、在前面讲过的回射客户/服务器程序中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较...

3880
s1mba

linux网络编程之socket(三):最简单的回射客户/服务器程序、time_wait 状态

下面通过最简单的客户端/服务器程序的实例来学习socket API。 ? echoser.c 程序的功能是从客户端读取字符然后直接回射回去。 /********...

2590
s1mba

linux网络编程之socket(二):C/S程序的一般流程和基本socket函数

一、基于TCP协议的网络程序 下图是基于TCP协议的客户端/服务器程序的一般流程: ? 服务器调用socket()、bind()、listen()完成初始化...

2510
s1mba

python network programming tutorial

关于网络编程以及socket 等一些概念和函数介绍就不再重复了,这里示例性用python 编写客户端和服务器端。 一、最简单的客户端流程: 1. Create ...

2200
s1mba

浅谈原始套接字 SOCK_RAW 的内幕及其应用(port scan, packet sniffer, syn flood, icmp flood)

一、SOCK_RAW 内幕 首先在讲SOCK_RAW 之前,先来看创建socket 的函数: int socket(int domain, int type, ...

1.2K0
s1mba

muduo网络库学习之EventLoop(三):Socket、Acceptor、TcpServer、TcpConnection(连接建立,接收消息)

1、Socket 操作封装 Endian.h 封装了字节序转换函数(全局函数,位于muduo::net::sockets名称空间中)。 Sock...

2630
s1mba

用Python socket 实现一个简单的http服务器(post 与get 的区别)、CGI、WSGI、MVC

预备知识: 关于http 协议的基础请参考这里。 关于socket 基础函数请参考这里。 关于python 网络编程基础请参考这里。 一、python...

1.3K0
s1mba

阻塞/非阻塞读写总结、tcp网络编程的本质、muduo::Buffer设计简介

一、阻塞/非阻塞读写总结 1、对于read 调用,如果接收缓冲区中有 20字节,请求读 100个字节,就会返回 20;对于 write调用,如果请求写 100个...

3812

扫码关注云+社区

领取腾讯云代金券