• 套接字编程,建立连接connect,绑定套接字bind


    1、建立连接

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

      参数sockfd是由函数socket创建的套接字。如果该套接字的类型是SOCK_STREAM,则connect函数用于向服务器发出

    连接请求,服务器的IP地址和端口号由参数addr指定。如果套接字的类型是SOCK_DGRAM,则connect函数并不建立

    真正的连接,它只是告诉内核与该套接字进行通信的目的地址,只有该目的地址发来的数据才会被该socket接收。对于

    SOCK_DGRAM类型的套接字,调用connect函数的好处是不必在每次发送和接收数据时都指定目的地址。

      通常一个面向连接的套接字(如TCP套接字)只能调用一次connect函数。而对于无连接的套接字(如UDP套接字)则

    可以多次调用connect函数以改变与目的地址的绑定。将参数addr中的sa_family设置为AF_UNSPEC可以取消绑定。

      addrlen为参数addr的长度。

    代码示例:

    struct sockaddr_in sock;

    memset(sock, 0, sizeof(sock));

    sock.sin_family = AF_INET ;

    sock.sin_port = htons(6000);

    inet_aton("200.200.3.18",      &sock.sin_addr);

    memset(sock.sin_zero, 0, sizeof(sock.sin_zero));

    connect(sock_fd,    (struct sockaddr*)&sock,     sizeof(struct sockaddr_in));

    注意:sock强制类型转换为struct sockaddr类型。

    2、绑定套接字

  • 相关阅读:
    php数组的创建及操作
    继承的几种方式
    js对象的创建与原型总结
    对象的创建
    变量与内存
    js函数的几个特殊点
    正则表达式的几个简单验证
    数组排序sort()
    对象与数组
    js函数动态传参
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/6774999.html
Copyright © 2020-2023  润新知