
网络编程
sinonion
原创内容,对自己负责,对读者负责。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
解决vlc播放UDP发送的RTP封装H.264码流
VLC软件SDP文件配置:c=IN IP4 192.168.1.6 // 编码板IP地址m=video 8554 RTP/AVP 96 // 编码板端口号a=rtpmap:96 H264/90000a=framerate:60 VLC软件URL配置:rtp://192.168.1.6:8554在SDP文件选项卡点击播放。原创 2015-08-13 15:18:41 · 2295 阅读 · 0 评论 -
网络套接字基础2-API接口
网络套接字基础2-API接口 服务器地址绑定-bind() 上一节讲到socket用于网络通信,只有套接字绑定一个地址才可以进行进程之间通信.Linux下用bind函数完成一个套接字到地址的绑定.往往是服务器需要这样的绑定. 函数原型:#include <sys/socket.h>int bind(int sockfd, const struct sockaddr *addr, sockle原创 2015-10-25 23:07:44 · 626 阅读 · 0 评论 -
网络编程基础4-获得网络信息getnetent
/*1.获得网络名,如下文件/etc/networks2.struct netent结构体成员使用*/#include <netdb.h>#include <stdlib.h>#include <stdio.h>int main(){ struct netent *net; int8_t decdotip[16] = {0}; char **p; uin原创 2015-10-22 10:30:23 · 550 阅读 · 0 评论 -
网络编程基础7-主机名或服务名到IP地址的映射getaddrinfo
/*1. 网络环境中服务器需要一个唯一的IP地址和一个主机名(域名),大多数情况,我们知道域名,而不会去记住IP,基于此需要进行域名到IP的转换2.getaddrinfo函数,将一个主机名和一个服务器名映射到一个地址.注意这两个名字必须再DNS服务器中注册过,第三个参数是一个地址过滤模板,通常情况下不过滤,NULL,第4个参数为可用的通信地址信息结构列表.*/#include <sys/原创 2015-10-22 16:36:30 · 1137 阅读 · 0 评论 -
网络编程基础6-获得协议信息getprotoent
/* 1. 获得协议信息,存储与结构体 struct protoent,3个成员2. 读取静态文件/etc/protocols获得协议信息*/#include <stdio.h> #include <stdlib.h> #include <netdb.h> int main() { char **p = NULL; struct protoent *pr原创 2015-10-22 10:42:37 · 517 阅读 · 0 评论 -
网络编程基础3-获得主机信息hostent
/*1.获得主机信息,在/etc/hosts可以看到.2.主机信息存储于struct hostent结构体中,访问成员即可获得*/#include <netdb.h>#include <stdio.h>#include <stdint.h>#include <stdlib.h>int main(){ /* 存放主机信息静态结构体 */ struct hostent *h原创 2015-10-22 10:18:22 · 524 阅读 · 0 评论 -
网络编程基础2-二进制与点分十进制IP转换
/*1.地址形式转换:IP地址是以二进制形式存贮于内存中的,当需要输出显示时显得不够友好,我们希望以点分十进制形式显示,于是就有了2个函数2.点分十进制和二进制存储相互转换*/#include <netinet/in.h>#include <sys/socket.h>#include <stdio.h>#include <stdint.h>#include <stdlib.h>in原创 2015-10-22 10:15:54 · 1745 阅读 · 0 评论 -
网络编程基础1-字节序
/*1. 字节序:就是数据在内存中的存储位置,小端:低字节位于低地址2.TCP/IP协议栈使用大端字节序,所以一般称为网络字节序3.由于目前处理器架构有支持大端有支持小端,为了统一使用TCP/IP所以定义了4和函数实现网络字节序的转换.*/#include<sys/socket.h>#include <arpa/inet.h>#include <stdio.h>#include <s原创 2015-10-22 10:13:57 · 453 阅读 · 0 评论 -
网络编程基础5-获得服务端信息getservent
/* 1. 获得服务信息, struct servent4个成员2. getservent()函数顺序扫描服务数据库/etc/services,存储在静态结构体struct servent.*/#include <stdio.h> #include <stdlib.h> #include <netdb.h> #include <arpa/inet.h> int main原创 2015-10-22 10:39:55 · 566 阅读 · 0 评论 -
UDP 广播编程研究一
UDP 广播编程研究一 (一)介绍 广播是一个主机向一个网络上所有主机发送的操作方式,一对多的,同一个子网内的所有主机都可以收到此广播发送的数据。可见TCP是不支持广播的。 广播IP地址:IP地址一般可分为两部分,右部分是主机ID,左部分是网络ID,广播地址要求主机ID部分为全1。255.255.255.255是一个特殊广播地址,而我的机子: 可以看到广播地址:192.168.1.255原创 2015-09-01 22:09:07 · 533 阅读 · 0 评论 -
SDP网络流媒体会话信息描述及应用分析二
一、SDP协议概述SDP(Session Description Protocol会话描述协议)是由IETF(Internet工程任务组)作为RFC4566颁布,描述流媒体初始化参数的格式。其目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话,并为参与者提供特定的信息(看SDP包含的内容)。定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持原创 2015-07-09 08:22:16 · 1096 阅读 · 0 评论 -
RTSP网络流媒体数据控制协议实例分析一
一、RTSP协议概述RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。 RTSP用于建立媒体流的控制传输,它为多媒体服务扮演“网络远程控制”的角色。尽管有时可以把RTSP控制信息和媒体流(数据)交织在一起传送,但一般情况RTSP并不用于转送媒体流数据,而是通过RTP/RTCP协议来原创 2015-07-08 21:11:46 · 1265 阅读 · 0 评论 -
UDP struct ifreq和struct ifconf获取IP地址
UDP struct ifreq和struct ifconf获取IP地址 (一)获得本地ip地址时要用到两个结构体ifconf和ifreq(#include /* * Interface request structure used for socket * ioctl's.All interface ioctl's must have parameter ifco原创 2015-09-01 15:13:18 · 1475 阅读 · 2 评论 -
socket编程常见宏定义和数据结构
一 socket.h 宏定义/* * For setsockopt(2) * * This defines are ABI conformant as far as Linux supports these ... */#define SOL_SOCKET 0xffff#define SO_DEBUG 0x0001 /* Record debugg原创 2015-08-30 17:20:27 · 2975 阅读 · 0 评论 -
网络套接字基础1-套接字
网络套接字基础1-套接字 (一)网间进程通信怎么实现? 进程通信最初来源于本机进程之间,即单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如管道(pipe)、命名管道(named pipe)软中断信号(signal),消息(message)、共享存储区(shared memory)和信号量(semapho原创 2015-10-25 23:01:11 · 619 阅读 · 0 评论