socket网络编程

开始记录下自己学习的学习心得。

关于socket套接字编程,最典型的就是c/s模式,而我们学习了大概的框架之后,如何将它运用到实际中?

 

在《linux C编程实战》中,只是给出简单模型的代码,我们应该从哪些方面去考虑,并对代码进行修改?

1)单进程与多进程

客户端与服务器进行通信的时候,如果服务器端是单进程,那么每次只能与一个客户端进行连接,这样的服务器是很不实际的,浪费资源的

所以我们必须将单进程修改为多进程,以提高效率。

那么,创建子进程后,父进程负责监听套接字,而子进程负责建立连接后c/s之间的通信(主要是read/write操作).

当服务器接受到客户端的连接请求并建立连接后,主进程进行fork操作,用子进程去进行剩下的与客户端通信的操作,而父进程则返回到阻塞状态,继续等待客户端的连接请求.

2)多路复用:select()函数

 

你可能感兴趣的:(编程,linux,框架,socket,网络,服务器)