linux网络编程
文章平均质量分 80
茜茜她老爹
一切随缘!!
展开
-
linux中route命令超详细用法
要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。metric Metric 为路由指定一个整数成本值标(从 1 至 ArrayArrayArrayArray),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。转载 2022-09-19 12:19:30 · 3815 阅读 · 0 评论 -
使用Socket时的阻塞工作方式和非阻塞工作方式有什么区别
阻塞模式和非阻塞模式的主要区别在于无请求来到时,阻塞模式会一直停在接收函数即accep函数,直到有请求到来才会继续向下进行处理。而非阻塞模式下,运行接收函数,如果有请求,则会接收请求,如果无请求,会返回一个负值,并继续向下运行。一般来说,使用阻塞模式的程序比较多,因为阻塞模式是由内核保障等待请求的,当他阻塞时不占用系统资源,而非阻塞模式需要我们人工轮询,占用资源较多。另外,阻塞模式可以使用sele...原创 2018-11-11 19:35:39 · 6384 阅读 · 0 评论 -
TCP传输大文件(图片、文档)
遇到TCP传输大文件问题,主要是(1)、传输快,但拼接成的大文件数据错(2)、加校验,传输变慢(3)、接收包数跟发送包数不对应费了一段时间才解决。今天,整理一下,留以后备用。首先,TCP是有连接、自带校验的传输协议,不需要再另外加代码(如接收端回复码给发送端)确保其正确性,这样可以保证TCP的速度,基本能达到4M/s以上。如接收包转载 2017-08-28 18:35:18 · 7548 阅读 · 0 评论 -
Linux下http协议实现
#include stdio.h>#include stdlib.h>#include string.h>#include sys/types.h>#include sys/socket.h>#include errno.h>#include unistd.h>#include netinet/in.h>#include limits转载 2016-12-19 18:16:02 · 1532 阅读 · 0 评论 -
Linux下http协议实现
#includestdio.h>#includestdlib.h>#includestring.h>#includesys/types.h>#includesys/socket.h>#includeerrno.h>#includeunistd.h>#includenetinet/in.h>#includelimits.转载 2016-12-16 18:09:58 · 618 阅读 · 0 评论 -
udp 与 tcp 通信编程
1、网络中进程之间如何通信?本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则通信无从谈起转载 2016-11-09 10:47:33 · 516 阅读 · 0 评论 -
如何使用UDP进行跨网段广播
广播域首先我们来了解一下广播域的概念。广播域是网络中能接收任一台主机发出的广播帧的所有主机集合。也就是说,如果广播域内的其中一台主机发出一个广播帧,同一广播域内所有的其它主机都可以收到该广播帧。广播域的计算如何知道一台主机是属于哪一个广播域呢?其实计算很简单,只要用主机的IP地址与子网掩码进行与运算即可知道该主机属于哪一个广播域。例如:一台主机的IP地址为192.168.23.15转载 2016-05-25 18:10:21 · 1794 阅读 · 0 评论 -
UDP局域网内广播消息
TCP/IP是一个协议族。TCP、UDP都是其中的组成部分,IP位于它们之下。 +------+ +-----+ +-----+ +-----+ |Telnet| | FTP | | TFTP| ... | ... |转载 2016-05-25 16:01:36 · 3280 阅读 · 0 评论 -
Linux进程间通信方式--本地socket
先上一个代码服务端:[cpp] view plaincopy//s_unix.c #include #include #include #include #define UNIX_DOMAIN "/tmp/UNIX.domain" int main(void) { so转载 2016-01-13 15:13:26 · 684 阅读 · 0 评论 -
select例子
/******************************************************************************************************************参考:1 http://blog.csdn.net/sunxx1986/article/details/6883909说明:linux socket的select转载 2015-03-11 11:58:36 · 367 阅读 · 0 评论 -
网络编程:htons、htonl、ntohs、ntohl简析
/******************************************************************************************************************原文地址:http://hi.baidu.com/taozpwater/item/23c90137475410ff2684f434说明:htons、htonl、n转载 2015-03-11 12:03:17 · 749 阅读 · 0 评论 -
linux socket的select函数例子
/******************************************************************************************************************原文地址:http://www.cnblogs.com/faraway/archive/2009/03/06/1404449.html说明:linux socke转载 2015-03-11 12:01:17 · 339 阅读 · 0 评论 -
Linux下select函数的使用
一.Select 函数详细介绍 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发 生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。转载 2015-03-10 15:00:03 · 359 阅读 · 0 评论 -
linux select函数用法
select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *结构的表示就是stdin、stdout、stderr。 int sel转载 2015-03-10 14:36:20 · 367 阅读 · 0 评论 -
setsockopt函数解析
int setsockopt (SOCKET s, int level, int optname, const char FAR * optval, int optlen );The Windows Sockets setsocko转载 2015-01-20 11:17:56 · 677 阅读 · 0 评论 -
Linux信号(signal) 机制分析
Linux信号(signal) 机制分析【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信号的发送、屏蔽阻塞等,最后给了几个简单的应用实例。 【关键字】软中断信转载 2014-09-10 09:40:39 · 474 阅读 · 0 评论 -
信号量编程
信号量sem_wait()的使用 闲来无事,我给大家讲下UNIX/Linux下信号量函数的使用。首先你得知道什么叫信号量,什么时候要用信号量。这个嘛,主要就是用来保护共享资源的,也就是说如果你想限制某个(些)资源在同一时刻只能有一(多)个线程拥有,就可以使用信号量。当然也可以用作让一个线程等待另一个线程完成某项工作。 用下面一组函数(系统调用)来实现。转载 2014-09-09 18:04:26 · 517 阅读 · 0 评论 -
Linux C 多线程编程 互斥锁与条件变量
一、互斥锁互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。 1. 初始化: 在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化: 对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init. 对于动态分配的互斥量, 在申请内存(mal转载 2014-07-25 09:21:00 · 464 阅读 · 0 评论 -
linux多线程编程之互斥锁
线程的同步问题 一个进程中的多个线程是共享同一段资源的,由于线程对资源的竞争引出了锁。其中mutex是一种简单的加锁方法,这个互斥锁只有两种状态,那就是上锁和解 锁,可以把互斥锁看作是某种意义上的全局变量。在某一时刻,只能有一个线程取得这个互斥上的锁,拥有上锁状态的线程可以对共享资源进行操作,而其他线程在 该线程未解锁之前,够会被挂起,直到上锁的线程解开锁。可以这么说,互斥锁使得共享转载 2014-07-25 09:14:06 · 573 阅读 · 0 评论