网络通讯基础(9):connect ()函数

connect ()函数

1.什么是connect 函数?作用是什么?

connect 是一个常用于网络编程的函数,它通常用于建立客户端和服务器之间的连接。要想使用connect 函数,需要包含如下头文件:

#include <sys/types. h>
#include <sys/socket. h>

2.connect 函数定义

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

其中sockdf代表已被绑定的socket 文件描述符;addr为服务器端的地址信息,含I地址和端口号
;addrlen用于存储地址结构的长度,即传入sizeof (addr)。connect成功返回0,失败返回-1。

可以看出connect 和 bind 的参数形式一致,区别在于:

(1)、connect函数在客户端使用,bind函数在 服务器端使用;

(2)、bind 的参数是自己的地址,而connect 的参数是对方的地址。

这里若是不了解,可以看我以前关于bind函数的文章:https://blog.csdn.net/shnhe/article/details/135187455?spm=1001.2014.3001.5501

3.例子

#include <stdio.h>  
#include <sys/socket.h>  
#include <arpa/inet.h>  
#include <unistd.h>  
  
#define SERVER_IP "192.168.0.1"  // 服务器 IP 地址  
#define SERVER_PORT 8000        // 服务器端口号   
  
int main() {  
    int sockfd;                  // 套接字文件描述符  
    struct sockaddr_in server_addr; // 服务器地址结构体  
    char message[100];            // 用于存储要发送的消息的缓冲区  
  
    // 创建套接字  
    sockfd = socket(AF_INET, SOCK_STREAM, 0);  
  
    // 设置服务器地址信息  
    server_addr.sin_family = AF_INET;  //IPV4
    server_addr.sin_port = htons(SERVER_PORT);  // 服务器端口号
    inet_pton(AF_INET, SERVER_IP, &server_addr.sin_addr); // 服务器 IP 地址 
        
    // 客户端连接到服务器  
    connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));
}

上面展示的代码就是connect 函数的一个简单使用过程,每一个代码段代表的意思都已注释,若有哪里表达的不清楚,欢迎大家提出,最后感谢的观看!

相关推荐

  1. 网络通讯基础(9):connect ()函数

    2024-01-01 17:28:03       41 阅读
  2. Linux网络编程-9.HTML,CSS基础

    2024-01-01 17:28:03       33 阅读
  3. Qt之connect函数使用

    2024-01-01 17:28:03       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-01 17:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-01 17:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-01 17:28:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-01 17:28:03       20 阅读

热门阅读

  1. 2024年1月1日答案

    2024-01-01 17:28:03       35 阅读
  2. Oracle数据库常用监控语句SQL(Zabbix 已调优)

    2024-01-01 17:28:03       31 阅读
  3. 【算法】王晓东期末考题总结(一)

    2024-01-01 17:28:03       32 阅读
  4. 2024任务驱动Hadoop应用讲课提纲

    2024-01-01 17:28:03       27 阅读
  5. 力扣25题: K 个一组翻转链表

    2024-01-01 17:28:03       40 阅读
  6. 「Cfz Round 3」Battle

    2024-01-01 17:28:03       37 阅读
  7. ActiveMQ

    ActiveMQ

    2024-01-01 17:28:03      30 阅读
  8. 【影像组学入门百问】#58---#62

    2024-01-01 17:28:03       25 阅读