网络编程项目(1) -- 7.15.2024

学习目标:

Linux

在这里插入图片描述在这里插入图片描述
linux应用开发(高级编程):
(1)数据存储问题:文件和数据库
(2)多任务编程:进程 和 线程
(3)网络编程:tcp udp


学习内容:

网络编程:1、概念2、基于udp协议网络程序设计


学习时间:7.15.2024


学习产出:

一、概念
   1、c/s模式:客户端/服务器模式 -- 客户端向服务器发送请求,服务器发送数据给客户端
	客户端和服务器两端都要开发

      b/s模式:浏览器/服务器模式
	仅仅开发服务器端
   2、网络通信协议:
	iso --> osi(网络互联参开模型)规定协议框架
		七层参考模型
	tcp/ip协议组 -- 统一互联网(tcp/ip协议详解卷1、卷2、卷3)
		四层参考模型:应用层、传输层、网络层、网络接口层
	tcp和udp协议都属于传输层
   
   3、ip地址和端口号
	ip地址:唯一表示网络中一台计算机的
		用32位整数表示,通常用4段点分十进制数字字符串表示
	端口号:唯一表示本机中通信的程序	
		用16位数表示0 -- 65535

二、基于udp协议开发c/s模式程序 -- 发送区没有缓冲区,接收区具有缓冲区
   1、服务器端开发流程:
	创建套接字(文件描述符)(类似网线链接接口) --> 绑定本地ip和端口号(套接字) --> 接收数据 -->处理数据 --> 发送数据 --> 关闭套接字
   2、客户端流程
	创建套接字 --> 向目标服务器发送数据 --> 接收数据 --> 关闭套接字




{    int socket(int domain, int type, int protocol);

     int bind(int sockfd, struct sockaddr *addr, int addrlen);


struct sockaddr_in{
  short sin_family;        //协议族
  unsigned short sin_port;  //端口
  struct in_addr sin_addr;  //IP地址
  char sin_zero[8];       //保留位,以适应struct sockaddr的字节大小
};


int recvfrom(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen);

int sendto(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *to, int tolen);

int close(int fd);}


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值