C语言程序映射端口

该文章演示了如何在C语言中使用socket函数创建TCP和UDP服务器。对于TCP,它展示了创建socket、绑定地址、监听连接及接受客户端请求的过程。而对于UDP,同样涉及创建socket,但省略了监听和接受连接的步骤,因为UDP是无连接的。
摘要由CSDN通过智能技术生成

在C语言中, 可以使用 socket 函数来映射端口.

如果你想要使用 TCP 协议, 可以这样:

#include <sys/socket.h>
#include <netinet/in.h>

int main() {
  int sockfd;
  struct sockaddr_in addr;

  sockfd = socket(AF_INET, SOCK_STREAM, 0); // 创建 socket
  if (sockfd < 0) {
    // 创建 socket 失败
  }

  addr.sin_family = AF_INET; // 设置协议族
  addr.sin_port = htons(80); // 设置端口, htons 函数将主机字节序转换为网络字节序
  addr.sin_addr.s_addr = INADDR_ANY; // 设置地址, INADDR_ANY 表示接受任意地址的连接

  // 绑定 socket 和地址
  if (bind(sockfd, (struct sockaddr*)&amp;addr, sizeof(addr)) < 0) {
    // 绑定失败
  }

  // 启动监听, 最多允许 5 个客户端连接
  if (listen(sockfd, 5) < 0) {
    // 监听失败
  }

  // 进入循环, 不断接受客户端连接
  while (1) {
    int client_sockfd;
    struct sockaddr_in client_addr;
    socklen_t client_addr_len = sizeof(client_addr);

    client_sockfd = accept(sockfd, (struct sockaddr*)&amp;client_addr, &amp;client_addr_len);
    if (client_sockfd < 0) {
      // 接受连接失败
    }

    // 处理客户端请求
    // ...

    // 关闭客户端 socket
    close(client_sockfd);
  }

  // 关闭服务端 socket
  close(sockfd);
  return 0;
}

如果你想要使用 UDP 协议, 可以这样:

``` #include <sys/socket.h> #include <netinet/in.h>

int main() { int sockfd; struct sockaddr_in addr;

sockfd =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值