TCP服务器的编写(上)

TCP服务器的编写(上)_第1张图片

tcp服务器的初始化,第一件事情就是创建套接字

TCP服务器的编写(上)_第2张图片

TCP服务器的编写(上)_第3张图片

TCP服务器的编写(上)_第4张图片

目前来说我们的tcp套接和udp套接是没有任何区别的!!!

那么接下来,如果是udp创建好套接字在进行绑定,那么基本上就完成我们udp服务器的初始化

而我们tcp创建好套接字,在进行绑定,因为我们tcp是面向连接的,当我们正式通信的时候,需要建立连接

TCP服务器的编写(上)_第5张图片

TCP服务器的编写(上)_第6张图片

这样子也就完成了,我们tcp服务器的初始化

TCP服务器的编写(上)_第7张图片

TCP服务器的编写(上)_第8张图片

TCP服务器的编写(上)_第9张图片

TCP服务器的编写(上)_第10张图片

-------------------------------------------------------------------------------------------------------------------------

TCP服务器的编写(上)_第11张图片

TCP服务器的编写(上)_第12张图片

TCP服务器的编写(上)_第13张图片

TCP服务器的编写(上)_第14张图片

TCP服务器的编写(上)_第15张图片

这是我们的第一版服务器

TCP服务器的编写(上)_第16张图片

TCP服务器的编写(上)_第17张图片

--------------------------------------------------------------------------------------------------------------------------

我们尝试用两个客户端访问我们的服务器

TCP服务器的编写(上)_第18张图片

TCP服务器的编写(上)_第19张图片

但是当我让第一个客户端,退出时

TCP服务器的编写(上)_第20张图片

只能够进行一次处理一个客户端,处理完了一个 , 才能处理完下一个

很显然,是不能够直接被使用的!!   ----   为什么??如何解决呢??

因为我们目前写的是单进程,获取连接成功,进行server时,server内部是一个死循环,这个死循环在进行读取,如果server内部死循环不退出,那么一直在进行读取,但进程的执行流,就无法回到上面accept获取新连接

TCP服务器的编写(上)_第21张图片

你可能感兴趣的:(服务器,运维)