2020校招备战日记4.29 ---- 关于套接字的思考

目标完成情况

  • 牛客两道题 ---- 今天做了大概5道题
  • 完成csapp最后一节tiny服务器 ---- 只是编译运行了一遍,细节还有很多没有理解
  • csapp并发编程看一半

学习回顾

由于这段时间把系统级I/O和网络编程看得比较快,感觉没有真正理解,所以今天慢了下来。把前面的书重新跳着看看理解了理解。感觉一些基本的概念还是没有真正掌握,看书还是得一步一个脚印

套接字在网络编程中的意义

就我目前的理解,可以做如下类比。

套接字磁盘文件
套接字地址磁盘文件绝对路径
套接字描述符打开文件描述符

如果两个套接字已经建立了连接,那么只要像读写普通文件那样读写套接字,就可以实现通信了。

所以对服务器的编程分为3个大的模块:

  1. 建立套接字的连接。(包括创建、绑定、监听、accept等等)
  2. 解析请求参数并处理。(涉及到数据的解析、处理、参数传递等等)
  3. 对套接字进行读和写。(读就是接收,写就是发送。之所以这么简单,就是因为TCP牛逼,Linux内核实现了TCP协议)

其中,第1个模块中主要使用socket接口,第3个模块可以结合普通的Unix I/O接口, 而第2个模块就是后台逻辑了,这个逻辑的结果可以是提供静态内容(将某个本地磁盘文件写到套接字),也可以是提供动态内容(执行一个本地的程序,然后将该程序的输出内容写到套接字)。

牛客做的题

汽水瓶,合唱队,晚上做了华为的笔试,大概得了250分的样子。。。
感觉自己的编码水平总体是有提高的,但是笔试这种限时训练还不够。

明日目标

  1. 牛客网一道题
  2. 将套接字函数再次复习一遍,仔细整理tiny服务器的相关知识。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值