用VScode 完成我的第一个服务器端与客户端的互通
ios 教科书般的网络体系(实际中不用):1物理层 2数据链路层 3网络层 4传输层 5会话层 6表示层 7应用层
常用的四层网络体系:网络接口层 网络层 传输层 应用层
顺便复习了一下几个简单的命令:暂时加行号 set nu, 删除文件夹 rm 文件名,改名 mv 原名字 要修改的名字 移动文件:mv 文件名 移动目的地文件名 yy 复制整行(nyy或者yny ,复制n行,n为数字);p 粘贴 重命名文件:mv 文件名 修改后的文件名
客户端 :比服务器端简单
1.socket创建,
int socket(int domain,int type,int protocol);
2.(struct sockaddr_in XXX; XXX.port; XXX.ip 整形数据需要用转换的函数 XXX.family协议族 , sin_addr.s_addr)
服务器通过listen调用来被动接受连接, 客户端需要通过connect主动与服务器建立连接
连接服务器connect ,sockfd由socket系统调用返回一个socket,serv_addr参数是服务器监听的地址,后面显而易见,这个地址的长度。
int connect(int socket,const struct sockaddr* serv_addr,socklen_t addrlen);
3.通信 接收数据(read/recv )发送数据(write/send)
stdin是标准输入,一般指键盘输入到缓冲区里的东西。
4. 断开连接 close(fd)
不是立刻断开,总是把fd的计数 -1;计数为0时,真正关闭
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<string.h>
#include<arpa/inet.h>//socket编程需要加上
int main(int argc,const char* argv[])
{
if(argc < 2)
{
pri