首页 > 编程语言 >socket编程API总结

socket编程API总结

时间:2022-09-30 10:00:21浏览次数:47  
标签:sockaddr socket 编程 server API client sockfd include sin


一、代码注释

1.

#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
#define SERVPORT 3333
#define BACKLOG 10
#define MAX_CONNECTED_NO 10
#define MAXDATASIZE 5

int main()
{
struct sockaddr_in server_sockaddr,client_sockaddr;
int sin_size,recvbytes;
int sockfd,client_fd;
char buf[MAXDATASIZE];
if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1){
perror("socket");
exit(1);
}
printf("socket success!,sockfd=%d\n",sockfd);
server_sockaddr.sin_family=AF_INET;
server_sockaddr.sin_port=htons(SERVPORT);
server_sockaddr.sin_addr.s_addr=INADDR_ANY;
bzero(&(server_sockaddr.sin_zero),8);
if(bind(sockfd,(struct sockaddr *)&server_sockaddr,sizeof(struct sockaddr))==-1){
perror("bind");
exit(1);
}
printf("bind success!\n");
if(listen(sockfd,BACKLOG)==-1){
perror("listen");
exit(1);
}
printf("listening....\n");
if((client_fd=accept(sockfd,(struct sockaddr *)&client_sockaddr,&sin_size))==-1){
perror("accept");
exit(1);
}
if((recvbytes=recv(client_fd,buf,MAXDATASIZE,0))==-1){
perror("recv");
exit(1);
}
printf("received a connection :%s\n",buf);
close(sockfd);
}



标签:sockaddr,socket,编程,server,API,client,sockfd,include,sin
From: https://blog.51cto.com/u_15812463/5724713

相关文章

  • 面向对象编程
    面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么......面对过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题......
  • WinUI3 使用Win32Api 实现窗口停靠常驻桌面功能。
    我们可以通过使用Win32Api来制作一些强大的功能,本文将通过示例代码来介绍使用Win32Api来之做桌面窗口停靠功能;效果图:   一.通过Nuget引入Vanara.PInv......
  • Android编程权威指南 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/123e8Z0K6o3DOM82LbasRUg点击这里获取提取码 ......
  • Flink-Table API
     在Flink提供的多层级API中,核心是DataStreamAPI,这是我们开发流处理应用的基本途径;底层则是所谓的处理函数(processfunction),可以访问事件的时间信息、注册定时器、......
  • drf请求与相应(Request,Response),drf能够解析的请求编码,响应编码,GenericAPIView和APIVi
    drf请求与响应Request类(请求)Response类(响应)drf 能够解析的请求编码,响应编码能够解析的请求编码响应编码GenericAPIView和APIView(2个视图基......
  • 前端面试总结12-WebApi-存储
    简述cooki,localstorage,sessionstorage的区别(1:cookie数据存放在浏览器上,session存放在服务器上(2:cookie安全性低(3:session占用服务器性能(4:单个cookie最大存储数据不超过4k......
  • Ajax、反向Ajax和WebSocket 概念
    Ajax异步的JavaScript和XML(AsynchronousJavaScriptandXML,Ajax),一种可通过JavaScript来访问的浏览器功能特性,其允许脚本向幕后的网站发送一个HTTP请求而又无需重新加载......
  • STRAPI概览
     总体介绍 实现所有内容多个多端重复使用。通过UI快速搭建数据库和API,节省大量后端工作量和学习成本。技术细节不用手动建立API路由。支持几乎所有常见的sql......
  • 前端面试总结11-WebApi-Ajax
    1.同源策略:ajax请求时,浏览器要求当前网页和serve必须同源(安全),即协议,域名,端口三者必须一致2.可无视同源策略的情况(1:<img/>可用于统计打点,可使用第三方统计服务(2:<link/><......
  • Python数据库编程
    1.什么是MySQLdb?2.如何连接数据库?3.如何创建数据库表?4.如何执行数据插入?5.如何执行数据库查询操作?6.如何更新数据库数据?7.如何删除数据库数据?8.如何使用数据库事......