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

客户端本地搭建

connect函数

        主要用于客户端套接字向服务器发起连接请求。

头文件

#include <sys/socket.h>
#include <arpa/inet.h>

函数原型

int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

参数解释

        sockfd:客户端文件描述符。

        addr:连接服务器的地址。

        addrlen:地址长度。

返回值

        成功:若 connect 函数成功建立连接,会返回 0

        失败:若连接失败,会返回 -1,同时会设置 errno 来表明具体的错误原因。

示例

#include <iostream>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>using namespace std;using namespace std;int main()
{struct sockaddr_in addr;int length;// 1、创建socketint socketfd = socket(AF_INET, SOCK_STREAM, 0);if (socketfd < 0){/*可能情况*1、没有连接网络*2、网卡坏了*/perror("socket error");return 0;}addr.sin_family = AF_INET; // 指定地址协议为IPV4类型addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 因为都在本地,所以要用回环地址addr.sin_port = htons(10001); // 服务器的端口号length = sizeof(addr); // 2、连接服务端int res = connect(socketfd, (struct sockaddr*)&addr, length);if (res < 0){perror("connect error");return 0;}cout << "成功连接到服务端,clientfd=" << socketfd << endl;return 0;
}

相关文章:

  • LeetCode算法题(Go语言实现)_55
  • 蓝桥杯中的知识点
  • 正点原子TFTLCD扩展
  • FreeRTOS-任务的创建删除,挂起与恢复
  • JavaFX深度实践:从零构建高级打地鼠游戏(含多物品与反馈机制)
  • Springboot 集成 RBAC 模型实战指南
  • C++IO流
  • Electron使用WebAssembly实现CRC-32 原理校验
  • 【项目】基于MCP+Tabelstore架构实现知识库答疑系统
  • 测试OMS(订单管理系统)时,对Elasticsearch(ES)数据和算法数据进行测试(如何测试几百万条数据)
  • UDP协议理解
  • 【(保姆级教程)Ubuntu24.10下部署Dify】
  • 【C语言】动态内存的常见错误
  • JavaFX 实战:从零打造一个功能丰富的英文“刽子手”(Hangman)游戏
  • NLP高频面试题(五十一)——LSTM详解
  • 玩转Docker | 使用Docker部署DashMachine个人书签工具
  • 深度学习3.6 softmax回归的从零开始实现
  • 模拟实现strncat、qsort、atoi
  • 低光环境下双目云台摄像头监控性能解析
  • Element UI、Element Plus 里的表单验证的required必填的属性不能动态响应?
  • 国家卫健委有关负责人就白皮书发布答记者问
  • 国家能源局通报上月投诉情况:赤峰有群众反映电费异常增高,已退费
  • 国台办:台商台企有信心与国家一起打赢这场关税战
  • 言短意长|政府食堂、停车场开放的示范效应
  • 打工人的“小长假模式”,已经迫不及待地开启了
  • 专访丨青年作家杜梨:以动物的视角去观察这个世界