网络编程
文章平均质量分 84
Linux_染尘
宁静致远
展开
-
网络编程—线程
之前的博客介绍了管道通信,进程间的通信,今天来介绍线程。 介绍线程前先要搞清楚线程与进程的区别。进程可以理解为正在运行的程序,进程管理和调度资源,而线程就是受进程调度的最小单位,也就是说进程给一个或多个线程资源并调度线程的运行。要运用线程,要包含头文件 pthread.h 。线程的属性标识符:pthread_attr_t。 线程的属性结构如下:typedef struct {原创 2016-05-25 23:46:15 · 454 阅读 · 0 评论 -
进程—僵尸进程与孤儿进程
在探讨这个问题之前,我们先来弄清什么是进程。 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 进程是一个具有独立功能的程序关于某个数据集合的一原创 2016-05-13 23:20:25 · 629 阅读 · 0 评论 -
UNIX网络编程之管道与FIFO
管道是最初的Unix IPC形式,它们的最大局限是没有名字,所以,管道只能用于有亲缘关系的进程之间使用。之后,慢慢随着FIFO的加入,这点才有所改观。FIFO也成为有名管道。管道和FIFO的共同点就是它们都是通过read和write函数进行访问的。管道: 管道是由pipe函数创建,提供一个单路数据流。也就是说,所有的管道都是半双工。 管道创建方法: #include <unistd.h> i转载 2016-05-17 16:19:29 · 550 阅读 · 0 评论 -
高性能网络服务(多进程,多线程,线程池)
Linux的一个应用优势是可用于设计各种高性能网络服务程序,高性能得一个特点就是实现并发访问处理,及服务程序能够同时为多个在线用户提供服务,高性能服务程序得应用非常广泛,在当前流行的Web服务器,各种游戏服务器中都能看到它的身影,本次重点讲解多进程网络服务程序,多线程网络服务程序,以及线程池网络服务程序的实现原理。高性能网络服务程序简介 高性能网络服务程序在当前的LINUX环境下应用非常广泛,原创 2016-06-02 21:58:28 · 1405 阅读 · 0 评论 -
套接字—Socket
网络编程就不得不提大名鼎鼎的套接字—Socket一,什么是Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。Socket的英文原意是“插座”,通常称之为套接字,来描述IP地址和端口,是一个通信链的句柄,用来实现不同虚拟机或者计算机之间的通信。 在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个S原创 2016-06-02 20:51:57 · 7687 阅读 · 0 评论 -
TCP : 3次握手与4次挥手
TCP协议在运输层工作,当客户端想要连接服务器,TCP协议要求 客户端和服务器共需要3次数据传输,才能确保客户端和服务器已经连通,我们把这个过程称为——3次握手。为什么是3次握手呢?我先来举一个现实中的例子。我给你打电话时,当拨号过去时,相当于我发送了第一次握手,表示我想和你通话。当你提起电话,“喂?”,这是你发送的第二次握手,发送消息给我,表示愿意与我通话,并且你信号正常。我这边再次“喂”,这是我原创 2016-06-07 17:02:10 · 520 阅读 · 0 评论 -
IO多路复用(select poll epoll)
IO多路复用是高性能网络编程一个重要的手段之一。一,IO多路复用的概念 以前我们用多线程来处理并发的请求,现在可以只用单线程来实现。单线程,通过记录跟踪每个每个I/O流(sock)的状态,来达到同时管理多个I/O流的目的,提高了服务器的吞吐能力。 如图所示,IO多路复用,就如同中间的开关,哪个sock就绪就连上开关,达到了单开关处理了多个I/O流的目的。这就是单线程却能处理多个Sock传原创 2016-06-05 22:29:03 · 4192 阅读 · 0 评论 -
IPC—进程间的通信(信号量,共享内存,消息队列)
IPC是进程间的通信(interprocess communication)的简称。传统上该术语描述的是运行在某个操作系统上的不同的进程间各种消息传递(message passing)。 IPC分为两代,初代System V IPC比较全面,现在用的Posix IPC更加易懂。不管是哪代IPC,重点都是这3点: 1. 信号量 2. 共享内存 3. 消息队列 Linux下命令原创 2016-05-16 21:04:45 · 3094 阅读 · 0 评论