华清远见Linux实训记录第三天

一、Linux与服务器建立联系

        在Linux环境下与服务器建立联系,通常涉及到网络编程的基础知识,包括套接字(socket)的创建、监听、接受连接等操作。

1.int server_init(int port)函数

函数的作用: 

       server_init`函数用于初始化服务器,创建套接字,绑定到指定端口,并设置为监听状态。

学习感悟:

     套接字创建:学习如何使用`socket`函数创建一个套接字,理解套接字地址族(如AF_INET表示IPv4)和套接字类型(如SOCK_STREAM表示TCP流)。

     地址绑定:理解`bind`函数如何将套接字绑定到一个端口上,以及如何指定地址结构来确保服务器可以接受来自任何地址的连接。

     监听状态:通过`listen`函数设置套接字为监听状态,允许它接收来自客户端的连接请求。

     端口复用:学习`SO_REUSEADDR`选项,它允许服务器在同一个端口上重启,即使之前的连接尚未完全关闭。

2.int waitForClient(int sockfd)函数

函数的作用:

        waitForClient`函数通常用于在服务器端等待客户端的连接请求。参数`sockfd`是服务器的监听套接字描述符。

学习感悟:

   阻塞与非阻塞:`waitForClient`通常是一个阻塞调用,意味着它会一直等待直到有客户端发起连接。这有助于服务器端在无连接时释放CPU资源,因为它不会占用CPU进行无效的轮询。

   I/O多路复用:在实际应用中,如果服务器需要同时处理多个客户端,`waitForClient`可能需要结合I/O多路复用技术(如select、poll或epoll),以提高效率。

   错误处理:在学习过程中,理解如何处理`waitForClient`可能出现的错误非常重要,比如网络错误、超时等,这些都需要适当的错误处理逻辑。

二、实操

1.Linux终端发送,TCP&UDP测试工具上接收

        在Linux上用vim创建一个server.c代码,引入头文件#include "Smarthome.c",编写代码

        打开TCP&UDP测试工具,创建链接(需要再linux终端上ifconfig查找自己的ip地址,最后拷贝到测试软件上),运行结果

2.Linux终端即可发送也可接收,TCP&UDP测试工具上接收,发送

        在server.c代码中添加一个read函数用来接收测速软件内容

代码:

结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值