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

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

作者: 雨打梨花闭门寒 | 来源:发表于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