【读书笔记】socket函数

简介: socket函数 简介 应用程序调用socket函数来创建一个能够进行网络通信的套接字。 1 2 3 4 5 /* 头文件 */ #include #include /* 函数原型 */ int socket(int domain, int...

socket函数

简介

应用 程序调用socket函数来创建一个能够进行 网络通信套接字
1
2
3
4
5
/* 头文件 */
#include <sys/types.h>
#include <sys/socket.h>
/* 函数原型 */
int socket( int domain, int type, int protocol);
第一个 参数指定应用 程序使用的 通信协议的协议族,对于TCP/IP协议族,该参数置AF_INET;
第二个 参数指定要创建的 套接字类型,流套接字类型为SOCK_STREAM、数据报套接字类型为SOCK_DGRAM、原始套接字SOCK_RAW(WinSock接口并不适用某种特定的协议去 封装它,而是由 程序自行处理数据包以及协议首部);
第三个 参数指定应用 程序所使用的 通信协议。此 参数可以指定单个协议系列中的不同 传输协议。在Internet通讯域中,此 参数一般取值为0,系统会根据 套接字的类型决定应使用的 传输层协议。
该函数如果调用成功就返回新创建的 套接字的描述符,如果失败就返回INVALID_SOCKET。(Linux下失败返回-1) 套接字描述符是一个整数类型的值。每个进程的进程空间里都有一个 套接字描述符表,该表中存放着套接字描述符和套接字 数据结构的对应关系。该表中有一个字段存放新创建的 套接字的描述符,另一个字段存放套接字 数据结构地址,因此根据套接字描述符就可以找到其对应的套接字数据结构。每个进程在自己的进程空间里都有一个 套接字描述符表但是套接字数据结构都是在 操作系统内核缓冲里。

创建流套接字的例子

1
2
3
struct protoent *ppe;
ppe=getprotobyname( "tcp" );
SOCKET ListenSocket=socket(PF_INET,SOCK_STREAM,ppe->p_proto);
相关文章
|
3月前
socket编程之回声服务器函数的陷阱
由connect函数使用不当导致的小错误 话不多说先看代码:
25 0
|
3月前
socket编程之 connect()函数
再讲了服务器端的函数调用之后,终于来到了我们的客户端编程了(read/write之后会详细介绍的),客户端编程相较于服务器端来说是非常简单的了,在掌握了服务器端编程之后再看客户端编程就会胸有成竹(只需要在学一个函数即可)。
30 0
|
3月前
socket编程之 accept函数的理解
在进入我们的正题之前,再来复习一波编写服务器的函数流程吧
39 0
|
3月前
|
网络协议 Linux 定位技术
网络编程函数小总结与初识socket
总结服务器端的函数和客户端的函数 再次声明博主写的都是对于linux下的网络编程,没有写关于Windows的网络编程,也许以后会写到。 这里只是总结一下,具体参数的含义等后面的跟新
27 0
|
4月前
|
网络协议
socket编程函数
socket编程函数
18 0
|
12月前
|
网络协议 Unix Linux
Android C++ 系列:Linux Socket 编程(二)网络套接字函数
socket()打开一个网络通讯端口,如果成功的话,就像open()一样返回一个文件描 述符,应用程序可以像读写文件一样用read/write在网络上收发数据,如果socket()调 用出错则返回-1。对于IPv4,domain参数指定为AF_INET。对于TCP协议,type参数指定为 SOCK_STREAM,表示面向流的传输协议。如果是UDP协议,则type参数指定为SOCK_DGRAM,表 示面向数据报的传输协议。protocol参数的介绍从略,指定为0即可。
154 0
|
存储 网络协议 Unix
socket编程相似对象、函数、概念的区别于联系
inet_addr类似于inet_aton,是将以点分开的IP地址字符串转成in_addr对象。
|
监控 网络协议 Unix
Socket的基本操作函数socket()、bind()、listen()、connect()、accept()、recv()、send()、select()、close()
Socket的基本操作函数socket()、bind()、listen()、connect()、accept()、recv()、send()、select()、close()
676 0
Socket的基本操作函数socket()、bind()、listen()、connect()、accept()、recv()、send()、select()、close()
|
网络协议 Unix Linux
【Socket】Socket相关概念及函数
【Socket】Socket相关概念及函数
【Socket】Socket相关概念及函数
|
Linux
UDP socket流程(14)——ip_local_out及其调用的函数
作者:gfree.wind@gmail.com 博客:linuxfocus.blog.chinaunix.net ip_local_out的代码很短 int ip_local_out(struct sk_buff *skb) {     int err;     /*      调用netfilter的hook检查该包是否可以发送。
1060 0