当前位置: 首页 > 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必填的属性不能动态响应?
  • 马上评丨超常设置战略急需专业,意味着什么
  • 习近平同阿塞拜疆总统阿利耶夫会谈
  • 上海银行换帅,顾建忠已任党委书记
  • 南部战区回应菲护卫艇非法侵入中国黄岩岛领海:依法警告驱离
  • 多元布局、抱团取暖……上海虹口区召开外向型企业圆桌会议
  • 央媒关注微短剧如何探索精品化之路:从“悬浮”落回“现实”