c++服务器开发学习--01--c++基础,socket

c++服务器开发学习--01--c++基础,socket

c++基础

学习链接:w3cschool,博客中只记录了博主感到疑问和重要的内容。

问题

  1. byte类型?答:好像没有byte变量类型
    在这里插入图片描述
    在这里插入图片描述

  2. 带有静态存储持续时间的变量?
    在这里插入图片描述

  3. “210f”?答:210.0f是合法的
    在这里插入图片描述

  4. 这个对应关系?50000对应-15536?答:二进制对应
    在这里插入图片描述
    在这里插入图片描述

  5. 对变量的类型限定符?
    在这里插入图片描述

  6. register存储类?具体怎么用?
    在这里插入图片描述

  7. 这3个?
    在这里插入图片描述

  8. 没有名字,那函数主体里怎么用参数呢?答:函数声明里可以,但是定义里要写参数名称。
    在这里插入图片描述

  9. double d,只能一位小数吗?答:只针对这一个数,十进制转二进制可能会产生无限循环小数,从二进制转回十进制的时候就只剩一位小数了。
    在这里插入图片描述

  10. 两个随机函数?srand()设置种子?
    答:srand()是设置某种排序,然后rand()按照这种排序,从第一位开始取,取10次;所以如果先srand(),再for循环,就相当于每次设置一种顺序,再取数字,每次的答案都不一样;但是如果是不设置srand(),或者把srand()设置在for循环里,那么两次for循环的答案是一样的在这里插入图片描述

  11. 输出值改变?
    在这里插入图片描述
    在这里插入图片描述

  12. 这里为什么要用指针?答:也可以用字符数组,一样的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

记录内容

  1. 系统不会初始化局部变量;会自动初始化全局变量;
    在这里插入图片描述
  2. 运算优先级…从上到下,从高到低
    在这里插入图片描述
  3. 指针和引用,都修改了实际参数,格式不太一样
    在这里插入图片描述
  4. 引用是某个已存在变量的名字,必须初始化。
    在这里插入图片描述
  5. 虚函数:动态绑定,多态用
    在这里插入图片描述
  6. 文件和流

头文件: < i o s t r e a m > <iostream> <iostream> < f s t r e a m > <fstream> <fstream>

  • 打开文件
    在这里插入图片描述

  • 读取数据
    在这里插入图片描述

  • 写入数据
    在这里插入图片描述

  1. 模板
  • 函数模板:
    在这里插入图片描述
    用函数模板:
    在这里插入图片描述

  • 类模板:
    在这里插入图片描述
    用类模板:
    在这里插入图片描述

socket

学习链接:socket编程入门

  1. Windows与linux对于socket的不同:与 UNIX/Linux 不同的是,Windows 会区分 socket 和文件,Windows 就把 socket 当做一个网络连接来对待。
  2. 面向连接与无连接:Internet socket主要有2种:stream是面向连接的,使用tcp/ip协议,按顺序到达、不会丢失;datagram是无连接的,使用udp协议,传输效率高,发送接收同步,限制每次传输数据大小。
  3. OSI-TCP/IP:OSI:7层,TCP/IP对OSI简化:4层,链路层-网络层-传输层-应用层。
  4. IP地址-MAC地址-端口号:IP地址:Internet Protocol Address,现通常指IPv4,目前一般是一个局域网拥有一个独立的IP地址;MAC地址:Media Access Control Address,以太网地址,唯一标识一台计算机;端口号:port,为每个网络程序分配唯一端口号;
  5. tcp建立连接:三次握手
    在这里插入图片描述
  6. tcp断开连接:四次握手
    在这里插入图片描述
  7. tcp连接
  • socket() 函数用来创建套接字,确定套接字的各种属性,然后服务器端要用 bind() 函数将套接字与特定的 IP 地址和端口绑定起来,只有这样,流经该 IP 地址和端口的数据才能交给套接字处理。类似地,客户端也要用 connect() 函数建立连接。
  • 对于服务器端程序,使用 bind() 绑定套接字后,还需要使用 listen() 函数让套接字进入被动监听状态,再调用 accept() 函数,就可以随时响应客户端的请求了。
  • Windows下使用send(),recv()来发送接收数据,linux下使用write(),read()。

(1)server端:socket(),bind(),listen(),accept(),send()
在这里插入图片描述
(2)client端:socket(),connect(),recv()
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值