linux 网络编程 (套接字)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 网络编程 (套接字)相关的知识,希望对你有一定的参考价值。
套接字概念:
套接字是一种通信过程,它使客服端/服务器系统的开发既可以再单机上进行,也可以跨网络进行。(FTP等都是通过套接字进行通信)
套接字链接:
1,套接字如何处理一个链接的
a,服务器软件先创建出一个套接字,(通过系统调用 socket 创建出来)。
b , 服务器进程会给创建的套接字起个名字。 也称为“绑定”(端口号),等待客服端链接到这个命名的套接字上来。(绑定)
c , 系统调用listen 的作用是创建一个队列。来自客服端的链接将在这个队列上排队等待服务器的处理(监听)
d , 服务器将通过系统调用accept 来接受来自客服端的链接。服务器调用accept的时候,会新创建一个套接字,这个套接字与上面的命名套接字
不是同一 回事,新套接字的唯一用途是与这个特定的客服进行通信,而命名套接字则被释放出来,准备处理来自其他客服端的链接。如果软
件编写得当,就可以享受多个链接带来的好处。对于一个简单的服务器来说,后来的客服端需要在队列里等待服务器的重新就绪。
客服端套接字
a,创建一个未命名的套接字
b,然后把他连接到一个名为server_socket的服务器套接字。
服务端:
关于exit , return , abort
exit, 和 return 的区别,
exit是一个函数,有参数,它执行完后把控制权交给系统。
return 是函数执行完后的返回。 return执行完后把控制权交给调用函数。
exit 和 abort 的区别
exit是正常终止进程。
abort 是异常终止。
以上是关于linux 网络编程 (套接字)的主要内容,如果未能解决你的问题,请参考以下文章