美文网首页
电商专业学习嵌入式软件开发第五十二天

电商专业学习嵌入式软件开发第五十二天

作者: 雨打梨花闭门寒 | 来源:发表于2017-03-29 18:55 被阅读0次
    • 网络编程第三天

    今天讲的主要是多线程和多进程,可以用到本次项目中。明天讲select。老师昨天让写的函数仍然写不出来,今天又让写一批函数,要说不懂的问老师的话只能要求跟着他敲才行。今天老师说上个项目还没完成可以先不管这个项目,先把上个项目做出来,接下来两天就要继续修改上个项目的代码了。

    一、 多进程

    //代码模板
    servfd = socket(AF_INET,SOCK_STREAM,0);
    bind(...);
    listen(...);
    while(1)
    {
        clifd = accpet(...);
        pid = fork();
        if(pid < 0)
        {
          close(clifd);
        }
        else if(pid == 0)
        {//son process
          close(servfd);
          gpid = fork();
          if(gpid < 0)
          {
          close(clifd);
          }
          else if(gpid == 0)
          { //针对客户端的事务处理
          ret = HandleClient(clifd);
          if(ret != 0)
          {
            return 1;
          }
          else
          {
            return 0;
          }
          }
          else
          {
        close(clifd);
          }
          return 0;
        }
        else
        {//parent process
          close(clifd);
          wait(...);
        }    
    }
    

    二、 多线程

    //代码模板
    socket(...);
    bind(...);
    listen(...);
    while(1)
    {
       clifd = accept(...);
       pthread_create(...,clifd);
    }
    void *HandleClient(void *arg)
    {
      .....
    }
    

    三、数据结构:同类型的多个元素如何管理、存储和相关操作的学科

    1. 元素间的逻辑关系(逻辑关系)
      a. 同属一个集合
      b. 线性关系(一对一)(线性表):特殊线性表:栈、队列
      c. 树形关系(一对多)(二叉树)
      d. 图形关系(多对多)

    2. 如何在内存中存储(存储方式)
      a. 顺序存储
      b. 链式存储
      c. 静态链式存储(不常用)

    3. 链表:采用链式存储的线性表
      常用操作:创建空表、销毁整个链表、求表长、插入节点、移除节点、查找节点、创建节点、销毁节点

      链表分类:
      a. 单向的/双向的
      b. 循环的/非循环的
      c. 带头节点的/不带头节点的

    四、 select

    相关文章

      网友评论

          本文标题:电商专业学习嵌入式软件开发第五十二天

          本文链接:https://www.haomeiwen.com/subject/hwdyottx.html