【linux】socket通信代码解析

目录

一、Linux中Socket编程的基本步骤

1.1 创建Socket

1.2 绑定Socket

2.3 监听Socket(仅服务器端)

2.4 接受连接(仅服务器端)

2.5 连接Socket(仅客户端)

2.6 发送和接收数据

2.7. 关闭Socket

二、Linux中Socket编程具体实现

2.1 TCP服务器

2.2 TCP客户端

2.3 UDP服务器

2.4 UDP客户端


        Linux Socket编程是网络编程的基础,它允许应用程序在不同的主机或同一台主机的不同进程之间进行通信。Socket是一种抽象的编程接口,它提供了一种发送和接收数据的机制。

一、Linux中Socket编程的基本步骤

1.1 创建Socket

        使用`socket()`函数来创建一个新的socket。这个函数需要三个参数:域(domain),类型(type)和协议(protocol)。

#include <sys/socket.h>

int socket(int domain, int type, int protocol);

        domain:通常是`AF_INET`(IPv4)或`AF_INET6`(IPv6)。

        type:通常是`SOCK_STREAM`(TCP)或`SOCK_DGRAM`(UDP)。

        protocol:通常为0,表示选择默认的协议。

1.2 绑定Socket

        对于服务器端,需要使用`bind()`函数将socket与特定的IP地址和端口号绑定。

#include <sys/socket.h>

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

        sockfd:是`socket()`函数返回的socket文件描述符。

        addr:是一个指向`sockaddr`结构的指针,该结构包含IP地址和端口号。

        addrlen:是`addr`参数的长度。

2.3 监听Socket(仅服务器端)

        对于TCP服务器,需要使用`listen()`函数来监听传入的连接请求。

#include <sys/socket.h>

int listen(int sockfd, int backlog);

        sockfd:是`socket()`函数返回的socket文件描述符。

        backlog:指定了内核应该为相应socket排队的最大连接个数。

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大雨淅淅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值