【网络编程】linux 简单的服务器端客户端程序

用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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值