自学内容网 自学内容网

linux网络编程6

一.TCP(续)

1.并发服务器

TCP原本不是并发服务器,同一时间只能与一个客户端连接;

方法:
使用多进程实现TCP并发服务器;
使用多线程实现TCP并发服务器;

进程实现

//服务器中函数使用的流程
socket();
bind();
listen();
//使用信号的方法处理僵尸进程
signal();

//创建子进程,用于与每个客户连接
while(1)
{
accept();
pid = fork();
if(pid > 0)
{

}
else if(pid == 0)
{
//子进程中完成接收或发送操作
while(1)
{
recv()/send();
}
}


}
close();

多线程实现

将多进程实现中的pid = fork();改为创建线程pthread_create();,并将线程中需要完成的步骤写在一个方法中

void *thread_fun(void *arg)
{
while(1)
{
recv()/send();
}
}

//服务器中函数使用的流程
socket();
bind();
listen();
//使用信号的方法处理僵尸进程
signal();

//创建子进程,用于与每个客户连接
while(1)
{
accept();
pthread_create(,,thread_fun,);
}
close();

二.Web服务器

Web服务器是使用HTTP协议与客户端浏览器进行信息交流;
其不仅仅能存储信息,还能在用户通过web浏览器提供的信息基础上运行脚本和程序;

1.HTTP协议

其是建立在TCP的基础上;
是一种规定浏览器和万维网服务器之间互相通信的工作,通过因特网传送数据的协议;

特点:
支持C/S架构;
简单快速:当客户向服务器请求服务时,只需要传送请求发和路径;
无连接:限制每层连接只处理一个请求;
无状态:即如果后续处理需要前面的信息,它必须重传,这会导致每次连接传送的数据量增大;

web编程

在浏览器上输入的格式:
hhtp://IP地址:端口号/页面文件

服务器应答的格式:
当请求成功:

"HTTP/1.1 200 OK\r\n"
"Content-type:text/html\r\n"

当请求失败时:

"HTTP/1.1 404 Not Found\r\n"
"Content-type:text/html\r\n"

三.网络通信过程

1.设备介绍

(1)交换机
是一个扩大网络的器材,可以把更多的计算机等网络设备连接到当前的网络中;
具备有性价比高、高度灵活、相对简单、易于实现等特点;

功能:

  • 转发过滤:能过滤并非转发到当前端口的信息;
  • 学习功能:对于连接到交换机的设备,都将其设备的MAC地址保存在其中的MAC地址表中
  • 还可以对VLAN的支持、对链路汇聚的支持、甚至还有防火墙的功能

原文地址:https://blog.csdn.net/qq_65818377/article/details/142443734

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!