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的支持、对链路汇聚的支持、甚至还有防火墙的功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值