主要的点:socket连接建立过程,http协议封装和解析
具体流程见github实验报告与代码:
https://github.com/Claireeeee/UCAS--/blob/master/计网/socket%20API%2BHttp%20s:c%20实现
卡住的点
- client的send端发送后对方一直阻塞(等待新的信息传入),这边要shutdown一下(只关自己的写口,读口还要留着)(具体细节待研究……跑通了就不想研究了……)
- server的字符串解析里,一开始的/没去,文件名解析出来都是/filename,导致文件一直搜索不到
知识点get:
- C语言perror()函数:打印最近一次系统错误信息
【参数】string为要输出的错误信息。 说明:perror()用来将上一个函数发生错误的原因输出到标准错误(stderr)。 参数string所指的字符串会先打印出,后面再加上错误原因字符串,此错误原因依照全局变量errno 的值来决定要输出的字符串。 - fopen自带路径解析(还以为要一层层剥真是写os脑子都回到底层了……)
- stat函数可以检测文件是否存在
- 简单的多线程其实不难(pthread_create(&newthread , NULL, reqparse, client_sock) != 0额已啊),emmm,不要怕
网友评论