套接字编程,建立连接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、绑定套接字

转载于:https://www.cnblogs.com/zhangxuan/p/6774999.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值