2022年5月15日记:Linux服务器开发,Darren老师,http/https服务器的实现

────────────────────────────────────
推荐一个 零声学院 免费公开课程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习]
后台服务器:https://course.0voice.com/v1/course/intro?courseId=5&agentId=0
────────────────────────────────────

在这里插入图片描述
这里有一个时间顺序的问题,http建立的过程,先处理的accept_cb,然后是recv_cb,接着才是send_cb。对应了nginx11个状态。
content-type:text/html包头中写的是body的格式。

粘包问题

  • 定义包的长度
  • 分隔符
//读完一行显示下一行的开始位置
int readline(char *allbuf,int idx,char * linebuf)
{
		int len=strlen(allbuf);
		for(;idx<len;idx++)
		{
			if(allbuf[idx]=='\r' && allbuf[idx+1]=='\n')
			{
				return idx +=2;
			}else{
				*(linebuf++)=allbuf[idx];			
			}
		}
}
int http_requset(struct int ntyevent *ev)
{
	//GET POSt
	char linebuf[1024]={0};
	int idx=readline(ev->buffer,0,linebuf);
	if(strstr(linebuf,"GET"))
	{
	}else if(strstr(linebuf,"POST"))
	{
	}
}
typedef int NCALLBACK(int,int,void *);
struct ntyevent{
		int fd;
		int events;
		void *arg;
		int (*callback)(int fd,int events,void *arg);
		int status;
		char buffer[BUFFER_LENGTH];
		int length;
		long last_active;
		int method;
		int resource[1024];
}

在这里插入图片描述

总结

今日星期日,厨房忙活半天,捏饺子上网课,感叹这就是生活!从昨天的网课找到上面这张图,感觉自己撑死就算泛型编程愚昧之巅。虽然已经工作多年,但是仍然是个缺乏自信的蛮干家伙,锻炼还是少之又少。希望编程这条路还是可以越走越宽,通过努力肯定能够走上巅峰,至少是自己的巅峰。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
引用中的报错信息是"Docker: Error response from daemon: OCI runtime create failed: container_linux.go:318: starting container process caused "chdir to cwd ("/tmp/project") set in config.json failed: no such file or directory": unknown. time="2023-05-10T15:37:43 08:00" level=error msg="error waiting for container: context canceled"。" 这个报错可能是由于容器在创建过程中失败导致的。报错中提到的container_linux.go文件以及相关的错误信息表明可能是容器的配置文件或路径设置有问题。 解决这个问题的方法可以参考引用和提供的信息。可以尝试以下步骤来解决该错误: 1. 检查容器的配置文件(config.json)中的路径设置是否正确,特别是/tmp/project是否存在。确保路径设置正确。 2. 检查系统内核和显卡驱动是否有更新。如果有更新,可能导致版本不一致并删除了某些依赖文件。可以尝试更新系统和显卡驱动。 3. 根据操作系统类型,执行相应的命令来安装nvidia-container-toolkit并重新启动Docker服务。对于Ubuntu系统,可以使用以下命令: ``` sudo apt-get update && sudo apt install nvidia-container-toolkit sudo systemctl restart docker ``` 对于Centos系统,可以使用以下命令: ``` distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo yum update yum install -y nvidia-container-toolkit sudo systemctl restart docker ``` 4. 如果需要在容器中共享宿主机的显卡,可以使用以下命令创建容器: ``` sudo docker run -it --gpus all --shm-size 20g nvidia/cuda:11.4.0-cudnn8-devel-ubuntu18.04 /bin/bash ``` 通过执行上述步骤,您应该能够解决报错"Error response from daemon: OCI runtime create failed: container_linux.go:348"。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker: Error response from daemon: OCI runtime create failed: container_linux.go:318 no such file](https://blog.csdn.net/thlzjfefe/article/details/130605453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [解决docker报错Error response from daemon oci runtime error_centos安装docker](https://download.csdn.net/download/lj_70596/14038620)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [docker: Error response from daemon: OCI runtime create failed: container_linux.go:367](https://blog.csdn.net/Darren_yy/article/details/131942758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

屯门山鸡叫我小鸡

加油

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值