C语言实现TCP网络通信

TCP:传输控制协议,面向连接的服务(打电话),安全、可靠(三次握手、响应+重传、四次挥手)速度相对较慢,一般应用在对安全性性、完整性有严格要求的场景:ftp、SMTP、HTTP
步骤一:套接字
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
功能:创建socket描述符,可以把socket当作文件来看待,发送数据就是写文件,接收数据就是读文件。
步骤二:准备地址
注意:函数接口定义的是sockaddr,而实际提供的是sockaddr_un或sockaddr_in
struct sockaddr {
sa_family_t sa_family;
Char sa_data[14];
}

    struct sockaddr_un
	{
		__SOCKADDR_COMMON (sun_); //地址类型 参看domain
		char sun_path[108];	// socket文件的路径
	};	
	
	struct sockaddr_in
	{
		__SOCKADDR_COMMON (sin_);
		in_port_t sin_port;	// 端口号 大端字节序 
		struct in_addr sin_addr; // ip地址 大端4字节整数
	}
	
	struct in_addr
	{
		in_addr_t s_addr;

};
步骤四:绑定
4、绑定
socket描述符与物理通信载体(网卡或socket文件)绑定在一起。
int bind(int sockfd, const struct sockaddr *a

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值