笔记

 

  • 用数组和指针来实现字符串
char    *str = "12345";

  这种写法可能会抛出警告但不会报错,因为实际上等号两边变量不一样:

  等号两边的变量类型不一样,那么编译器会 implicit conversion 来使得变量可以被赋值。

  避免警告应该改写为

const char    *str = "12345";
    char    *str = (char *)12345";
  • 结构体指针和结构体

  就是注意"." 和“->”的用法

      另外sizeof(结构体指针) = 8(64位)

 

  • backlog

  

 

 

  • accept函数

 

  int fd= ( int sockfd,  struct sockaddr * addr,socklen_t * addrlen);

  以我的代码为例的话,sockfd是服务器的fd(listen_fd),addr是指向客户端(温度传感器)的地址(client_addr),它需要强制类型转化

 client_fd = accept(listen_fd,(struct sockaddr*)&client_addr,&client_addr_len)

 

  如果不带addrlen会报错bad address,因此需要提前定义一个socklen_t   型变量

 socklen_t    client_addr_len;

  并且返回一个int 类型的    fd,后面就通过这个fd进行read write相关操作

posted @ 2022-10-23 17:53  面筋玄师  阅读(25)  评论(0)    收藏  举报