tcp/ip 学习笔记

本文记录了学习TCP/IP过程中实现的一个文件管理并发服务器。通过创建被动套接字,设置选项,监听端口,处理客户端连接,解析HTTP请求,并根据请求返回文件或目录信息。使用的关键技术包括多进程、信号量、getopt、stat、sscanf、fdopen等。
摘要由CSDN通过智能技术生成

最近学习网络编程,看了周立发老师的blog 也模仿写了一个文件管理并发服务器。

 

选择多进程并发服务器

 

技术难点:建立tcp 服务器

              fork 产生新的处理进程

              使用getopt 函数使服务器配置参数化, 使用同一的linux风格

               设置端口复用,??

               浏览文件系统,

               下载文件

 

思路:

      1 首先建立一个被动套接字

      设置套接字的option选项

      注册一个信号量 来回收僵死进程,回收系统资源

    

     2 使用getopt 函数遍历分析用户的参数录入

        host 地址, port,  listen_num,  log_addr

     

      3 bind ,listen

       进入循环处理

        accept

       如果有连接到来则进入一个新的进程,父进程并关闭新连接的套接字。

       子进程要关闭主套接字。

     4 判断用户的请求

        基于浏览器

        发送过来http 请求

        get %s http ...

        使用sscanf 函数 获取请求字符串

        在该socketfd 标示符 打开一个写 的标示符 newfd = fdopen( sockfd, "w");

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值