当前位置: 首页 > news >正文

公司网站后台是什么搭建直播网站需要怎么做

公司网站后台是什么,搭建直播网站需要怎么做,jsp 网站开发,app开发的价格15. 网络编程 - sys/socket.h 和 netinet/in.h 网络编程在C语言中是通过套接字来实现的#xff0c;套接字提供了进程间通信的端点。C语言的网络编程涉及到创建套接字、绑定地址、监听和接收数据。以下是网络编程的关键概念和基本实现方法。 15.1. 套接字基础…15. 网络编程 - sys/socket.h 和 netinet/in.h 网络编程在C语言中是通过套接字来实现的套接字提供了进程间通信的端点。C语言的网络编程涉及到创建套接字、绑定地址、监听和接收数据。以下是网络编程的关键概念和基本实现方法。 15.1. 套接字基础 15.1.1. 套接字类型与协议 套接字是网络通信的基础它分为不同的类型和协议 套接字类型 流套接字SOCK_STREAM基于TCP协议提供可靠的双向字节流通信。数据报套接字SOCK_DGRAM基于UDP协议无连接面向消息通信时不保证消息顺序和完整性。 协议 TCP传输控制协议提供可靠、有序的字节流服务比如HTTP。UDP用户数据报协议提供较低效能的、不可靠的数据报服务比如DNS查询。 15.1.2. 创建和绑定套接字socket, bind 创建套接字并绑定到指定IP和端口是建立网络服务的基础步骤。 socket 函数用于创建一个新的套接字。 int socket(int domain, int type, int protocol);domain地址族一般为 AF_INETIPv4或 AF_INET6IPv6。type套接字类型如 SOCK_STREAMTCP或 SOCK_DGRAMUDP。protocol通常设为 0自动匹配。 bind 函数将套接字与特定IP地址和端口绑定。 int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);sockfd由 socket 返回的文件描述符。addrIP地址和端口信息结构体通常为 struct sockaddr_in。addrlen地址结构体的长度。 #include sys/socket.h #include netinet/in.h #include stdio.h #include string.hint main() {int sockfd socket(AF_INET, SOCK_STREAM, 0); // 创建套接字 [1]struct sockaddr_in server_addr;memset(server_addr, 0, sizeof(server_addr)); // 清零server_addr.sin_family AF_INET; // IPv4server_addr.sin_addr.s_addr INADDR_ANY; // 任意可用的接口server_addr.sin_port htons(8080); // 绑定端口8080bind(sockfd, (struct sockaddr*)server_addr, sizeof(server_addr)); // 绑定套接字 [2]return 0; }[1]创建套接字使用 socket 函数创建TCP套接字。IPv4地址AF_INET流套接字类型。[2]绑定套接字bind 函数将创建的套接字绑定到结构体中指定的IP地址和端口上。 15.2. 客户端与服务器模型 15.2.1. TCP 服务器listen, accept 在创建并绑定了套接字后服务器需要监听连接和接受请求。 listen 函数将套接字设置为被动监听状态。 int listen(int sockfd, int backlog);sockfd套接字描述符。backlog等待连接队列的最大长度。 accept 函数从连接队列中取出一个连接请求。 int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);sockfd监听中的套接字。addr客户机的IP地址和端口信息。addrlen用户提供的地址结构的大小。 listen(sockfd, 5); // 开始监听 [3] struct sockaddr_in client_addr; socklen_t addrlen sizeof(client_addr); int client_sockfd accept(sockfd, (struct sockaddr*)client_addr, addrlen); // 接受连接 [4][3]监听连接listen 将套接字置为监听状态。[4]接受连接accept 从队列中取出一个连接。 15.2.2. TCP 客户端connect 客户端需要连接到服务端的指定地址和端口。 connect 函数用于连接到服务端。int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);sockfd套接字描述符。addr服务端的 IP 地址和端口信息。addrlen服务器地址信息的结构体大小。 int sockfd socket(AF_INET, SOCK_STREAM, 0); // 创建套接字 struct sockaddr_in server_addr; memset(server_addr, 0, sizeof(server_addr)); // 清空地址 server_addr.sin_family AF_INET; // IPv4 inet_pton(AF_INET, 127.0.0.1, server_addr.sin_addr); // IP 地址 [5] server_addr.sin_port htons(8080); // 目标端口 connect(sockfd, (struct sockaddr*)server_addr, sizeof(server_addr)); // 发起连接请求 [6][5]设置地址使用 inet_pton 设置目标服务的 IP。[6]发起连接请求connect 连接到指定服务器。 15.2.3. 数据传输send, recv 一旦连接建立服务端和客户端之间就可以通过以下函数进行数据传输。 send 函数用于发送数据。 ssize_t send(int sockfd, const void *buf, size_t len, int flags);sockfd套接字描述符。buf要发送的缓冲区。len缓冲区长度。flags传输标志通常设置为0。 recv 函数用于接收数据。 ssize_t recv(int sockfd, void *buf, size_t len, int flags);用法与 send 类似。 char buffer[1024]; send(client_sockfd, Hello, World!, 13, 0); // 发送信息 [7] recv(client_sockfd, buffer, sizeof(buffer), 0); // 接收信息 [8][7]发送信息使用 send 传输数据。[8]接收信息使用 recv 接收数据。 15.3. 高级套接字编程 15.3.1. 多路复用select, poll 多路复用允许程序在一个线程中监视多个文件描述符上的事件。 select 函数用于监视多个文件描述符。 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);poll 函数与 select 相似使用 pollfd 结构体数组。 int poll(struct pollfd *fds, nfds_t nfds, int timeout);15.3.2. UDP 套接字编程 UDP 套接字不需要连接可以直接使用 sendto 和 recvfrom。 sendto 函数用于发送UDP数据包。 ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,const struct sockaddr *dest_addr, socklen_t addrlen);recvfrom 函数用于接收UDP数据包。 ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);char udp_buffer[1024]; struct sockaddr_in dest_addr; memset(dest_addr, 0, sizeof(dest_addr)); dest_addr.sin_family AF_INET; inet_pton(AF_INET, 192.168.1.1, dest_addr.sin_addr); dest_addr.sin_port htons(9090); sendto(sockfd, UDP message, 11, 0, (struct sockaddr*)dest_addr, sizeof(dest_addr)); // 发送UDP [9] recvfrom(sockfd, udp_buffer, sizeof(udp_buffer), 0, NULL, NULL); // 接收UDP [10][9]发送UDP: 使用 sendto 发出数据。[10]接收UDP: 使用 recvfrom 接收UDP数据。 通过这些概念和代码示例你可以开始进行C语言的网络编程创建基本的网络应用程序。无论是客户端还是服务器端处理正确使用这些网络编程API是至关重要的。
http://www.hkea.cn/news/14442752/

相关文章:

  • 南京网站建设外包网站建设的费用是多少
  • 菏泽做网站设计制作网站的网页
  • 字体设计网站有哪些wordpress图文安装教程
  • 南昌seo网站推广费用手提电脑做网站服务器
  • 5网站开发中企动力邮箱登陆入口
  • 建筑网站转发seoul怎么读
  • Tp5即做网站又提供api接口一个网站备案多个域名吗
  • 陕西省建设执业资格注册中心网站企业网站建设存在的不足与困难
  • 广州市医院网站建设怎么弄自己的网站
  • 网站建设公司官方网站什么叫国际互联网
  • 安装网站出现dir程序员用来做笔记的网站
  • 四川北路街道网站建设有哪些做任务网站
  • 上海网站开发网站开发公司百度词条搜索排行
  • 如何与知名网站做友情链接北京城乡建设官方网站
  • 网站后台怎么做的西安房产网58
  • jsp网站开发的两种模式贵州省水利建设项目公示网站
  • 深圳住房和建设局官网站首页自己做网站要花钱吗
  • 企业网站建设条件做毕业设计资料网站好
  • 网站建设开票的税收分类做一款小程序需要多少钱
  • 北京网站推广营销策划免费公司企业建站代理
  • 沐雪专业网站建设淘宝做网站的公司
  • 18款禁用黄app入口直接看seo博客模板
  • 怎么确定电商网站建设的目标装修设计公司有哪些
  • 支付宝接口 网站备案中铁建设集团员工登录网
  • 免费网站专业建站阿里云 wordpress 教程
  • logosc网站怎么做的网站设计制作一条龙免费
  • 哪个网站可以学做包子深圳龙霸网站建设物三
  • 网页链接制作生成seo推广编辑招聘
  • 网站建设知名网易企业邮箱和163邮箱区别
  • 小公司做网站多少钱花型图案设计网站