选择
A
B
D 由协议处理粘包问题
C
C
C
host字段表示要访问的IP地址
Connection为Close,为短连接
A
RTT报文往返时间,根据窗口大小和拥塞控制可以得知发了1 2 4 8 总共16个接收缓存并且没由进行数据提取,则剩余接收量为16-15=1,会经过ACK发给甲
D
B
传输层中的分用和复用就是把网络层提供的host to host传输服务扩展到运行于计算机上的应用进程间的传输服务,也就是点对点的传输,这里的点可以理解为端口。
分用是把传输层的数据段中的信息发送给正确的socket服务
复用是把所有的socket中的数据段集中并加头信息封装,然后发送到网络层的服务
B
收到了确认序号为2046的报文,那我本次发送就从2046开始,即序号是2046
收到了起始序号为1913,长度为100字节的数据,说明下次从2013开始,即确认序号为2013
编程
收件人列表
收件人列表__牛客网
#include <cstdio>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
string t;
getline(cin,t);//不知道为啥会多一个空格 给他读出来扔了
vector<string>strs(n);
for(int i=0;i<n;i++)
{
//cin>>strs[i];
getline(cin,strs[i]);
}
string res="";
for(int i=0;i<n-1;i++)
{
if(strs[i].find(',')!=string::npos || strs[i].find(' ')!=string::npos)
{
res+='"';
res+=strs[i];
res+='"';
}
else
{
res+=strs[i];
}
res+=',';
res+=' ';
}
if(strs[n-1].find(',')!=string::npos || strs[n-1].find(' ')!=string::npos)
{
res+='"';
res+=strs[n-1];
res+='"';
}
else
{
res+=strs.back();
}
cout<<res<<endl;
}
return 0;
}
养兔子
养兔子__牛客网
#include <iostream>
#include <vector>
using namespace std;
int main()
{
// 1天1只 2天2只 3天3只 4天5只 斐波那契数列
int n;
while(cin>>n)
{
if(n<=2)
{
cout<<n<<endl;
}
else
{
vector<long long>dp(n,0);
dp[0]=1;dp[1]=2;
for(int i=2;i<n;i++)
{
dp[i]=dp[i-1]+dp[i-2];
}
cout<<dp[n-1]<<endl;
}
}
return 0;
}