TCP简易客户端的创建

12 篇文章 0 订阅
5 篇文章 0 订阅

1、创建套接字socket()

        所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口

流式套接字(SOCK_STREAM):

        数据以字节流的方式进行传递,无大小限制.保证数据可靠,无丢失, 顺序发送.主要用于TCP协议. 一般情况下只要选择流式方式,那内核就会默认选择TCP传输层协议

数据报套接字(SOCK_DGRAM ):

        主要通过数据报的方式发送,固定大小。不能保证数据可靠,可能

丢失,乱序发送.主要用于UDP协议. 一般情况下只要选择数据报方式,那内核就会默认选择UDP传 输层协议

原始套接字(SOCK_RAW):

        可以对较低层次协议如IP、ICMP直接访问

2、连接服务器

保存服务器信息

	struct sockaddr_in serveraddr = {0};
	serveraddr.sin_family = AF_INET;
	serveraddr.sin_port = htons(9999);
	//serveraddr.sin_addr.s_addr = inet_addr("0");
	serveraddr.sin_addr.s_addr = htonl(INADDR_ANY);
	
	int len = sizeof(serveraddr);

连接服务器

	int ret = connect(sockfd,  (struct sockaddr *)&serveraddr, len );
	if(ret == -1)
	{
		perror("connect");
		return -1;
	}

3、收发数据

	char buf[64] = {0};

	while(1)
	{
		gets(buf);

		write(sockfd, buf, strlen(buf));
	
		memset(buf, 0, 64); //数组清零
	}

4、关闭套接字

	close(sockfd);

好的,以上就是本期内容啦!!!

欢迎大家参考指正!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

玖尾猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值