socket、listen 等函数的打电话隐喻

如果用电话来隐喻 TCP 的连接过程中用到的函数, 那么:
1. socket 函数意味着有电话可用;
2. bind 告诉其他用户自己的号码, 以便其他用于打给它;
3. listen 是电话的响铃, 当电话来的时候会通知你;
4. connect 是主动打别人的电话,前提是你知道号码;
5. accept 返回一个新的连接套接字, 用于并行的操作。

时间: 2024-10-11 08:41:33

socket、listen 等函数的打电话隐喻的相关文章

socket编程---seng函数&recv函数详解

一.send函数 函数原型:int send( SOCKET s,char *buf,int len,int flags ); 功能:不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据.客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答. 参数一:指定发送端套接字描述符: 参数二:存放应用程序要发送数据的缓冲区: 参数三:实际要发送的数据的字节数: 参数四:一般置为0. 同步Socket的send函数的执行流程,当调用该函数时,s

php中关于socket的系列函数总结

php中关于socket的系列函数总结 本文列举了所有关于PHP语言中使用socket相关服务的一些函数.注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请编辑你的php.ini文件,去掉下面这行前面的注释(分号): extension=php_sockets.dll 如果你无法去掉注释,那么请使用下面的代码来加载扩展库: <?php if(!extension_loaded('sockets')){  if(strtoupper(substr(PHP_OS,3))==&qu

网络通信 --&gt; socket之select函数

socket之select函数 头文件 #include <sys/time.h> #include <sys/types.h> #include <unistd.h> 定义函数 int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout); 函数说明 select()用来等待文件描述词状态的改变.参数n代表最大的文件描述词加1,参数rea

socket listen/accept

listen函数 摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程.在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接. listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是: intlisten(int sockfd, int backlog) 参数sockfd 被listen函数作用的套接字,sockfd之前由socket函数返回.在被socket函数返回的

socket执行accept函数时没有进入阻塞状态,而是陷入了无限循环

接着前两天继续看<VC深入详解>的网络编程部分,这次我快速看了遍书上的函数以及套接字C-S模型,然后自己从0开始写了个简单的服务端,结果发现一直在输出 而明明我还没有写客户端程序,由于打印的代码只有一处,在如下的while循环里 while (true) { /* 5. 接收客户端发送的连接请求 */ SOCKET sockConnect = accept(sockServer, (SOCKADDR*)&addrClient, &len); /* 6. [发送/接收]数据 */

socket 由浅入深 系列函数(五)socket 阻塞 与 非阻塞

socket 阻塞 与 非阻塞 author:songyanwu 1 概念理解 其实在我们在进行网络编程,在理解阻塞与非阻塞同时,还应该清楚同步与异步! 同步与阻塞 同步和阻塞是不同的,可是有时候在理解有会很模糊: 同步:事情一件件的做,做完一件返回一件,做不完不回复也不返回. 阻塞;  阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行).函数只有在得到结果之后才会返回. 说明:同步和阻塞 在以后接触内核驱动 的时候会

socket 由浅入深 系列函数(二)

来源;MSDN 网络整理 主要介绍:CreateCompletionPort, socket.bind.listen.connect.accept.send.sendto.recv.recvfrom.close.shutdown 原理可看: CreateCompletionPort函数 1. 用于创建一个完成端口对象. 2. 将一个句柄同完成端口关联到一起. HANDLE CreateIoCompletionPort( HANDLE FileHandle, HANDLE ExistingComp

socket中的函数遇见EINTR的处理【转】

转自:http://blog.chinaunix.net/uid-21501855-id-4490453.html 这几天,写服务器代码过程当中,遇见EINRT信号的问题,我是借鉴 <unp >,采用continue或者goto again循环解决的.但是感觉这个还是很有必要记录一下.网络上查找到的信息很多.下面是我查找到的和EINTR有关的介绍: 1  http://blog.csdn.net/yanook/article/details/7226019  慢系统调用函数如何处理中断信号EI

Linux下tcp协议socket的recv函数返回时机分析(粘包)

http://www.vckbase.com/index.php/wv/10http://blog.csdn.net/zlzlei/article/details/7689409 文章一: 当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API).TCP/IP传输层有两个并列的协议:TCP和UDP.其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务.UDP(user datagram pro