socket 通信API

server 端 : 创建,绑定,监听,建立连接,接收数据,发送数据,关闭

1:创建socket,返回socket_fd 

sock = socket(AF_INET, SOCK_STREAM, 0);


2:  设置socket属性,本条可选

rc = setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on));


3:将socket与众所周知的的IP地址绑定,客户端用以连接服务器的地址

rc = bind(sock, (struct sockaddr *)&servaddr, sizeof(servaddr));


4:服务器监听在已经绑定的地址和端口上,并设置允许连的最大连接数

rc = listen(sock, 5);  


5:一旦服务器调用了listen,套接字就能接收到连接请求,使用accept获得连接请求的fd  并建立连接;

sock_client = accept(sock, (struct sockaddr *)&client, &addrlen); 


6:关闭连接

close(sock_client);    关闭客户端请求过来的连接socket
close(sock);               关闭服务器端的socket



client端:  建立socket,   发起连接, 发送数据,接收数据,关闭socket;

1:创建socket,返回socket_fd 

sock = socket(AF_INET, SOCK_STREAM, 0);

2:客户端发起连接请求

rc = connect(sock ,  (struct sockaddr *)&gAddr, sizeof(gAddr));        

参数:  sock 为客户端申请的socket,    gAddr为服务器地址;

3:sock发送数据

rc = send(sock, TEST_MESSAGE, sizeof(TEST_MESSAGE), 0);

4:接收数据

ssize_t        recv(int sockfd, void* buf, size_t  nbytes,  int flag);



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值