自己动手用c语言写一个基于服务器和客户端

发布时间:2025-12-15 点击:5
如果想要自己写一个服务器和客户端,我们需要掌握一定的网络编程技术,个人认为,网络编程中最关键的就是这个东西——socket(套接字)。
socket(套接字):简单来讲,socket就是用于描述ip地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。
tcp协议tcp协议:是一种面向连接的、可靠的、基于字节流的传输层通信协议,由ietf的rfc 793定义。在简化的计算机网络osi模型中,它完成第四层传输层所指定的功能。
关键词:三次握手,可靠,基于字节流。
可能有朋友会问,tcp就这么简单一句话吗?当然不是,tcp作为非常重要的传输协议,细节知识是很多的,细讲起来这一篇文章怕是不够。不过在本篇内容中,我们只需了解他的几个关键词特性,就能很好的理解下面的内容。
tcp服务器端和客户端的运行流程
如图,这是一个完整的tcp服务器——客户端的运行流程图,其实我个人认为程序啊,不管哪个语言都是一样,核心就在于算法的设计和函数的调用。那么图中的函数都是什么意思呢?
1.创建socket
socket是一个结构体,被创建在内核中
sockfd=socket(af_inet,sock_stream,0); //af_int:ipv4, sock_stream:tcp协议2.调用bind函数
将socket和地址(包括ip、port)绑定。
需要定义一个结构体地址,以便于将port的主机字节序如果无请求,将会阻塞,直到获得连接
int fd=accept(sockfd, null,null);//这边采用默认参数5.调用read/write进行双向通信
6.关闭accept返回的socket


网站建设不可不知的技巧大全
电商相互入驻意味着什么?
做网站SEO优化三大要素是什么
广州企业网站建设改版的四禁止
如何通过关键词来促进网站的排名
微信小程序开发入门之基本的语法介绍上篇
如何打造高效的网站建设团队?
网站结构怎样更有利于用户的体验