首页 > 其他分享 >TCP简单的客户端代码(C语言)

TCP简单的客户端代码(C语言)

时间:2023-12-13 20:22:40浏览次数:33  
标签:include addr int TCP server sockfd C语言 buf 客户端

 1 #include <stdio.h>
 2 #include <unistd.h>
 3 #include <sys/socket.h>
 4 #include <netinet/in.h>
 5 #include <arpa/inet.h>
 6 int main(int argc, char const *argv[])
 7 {
 8     // 1.创建套接字(TCP)
 9     int sockfd = socket(AF_INET, SOCK_STREAM, 0);
10     if (sockfd < 0)
11     {
12         perror("socket");
13         return -1;
14     }
15     // 2.连接服务器
16     struct sockaddr_in server_addr;
17     server_addr.sin_family = AF_INET;
18     server_addr.sin_port = htons(8000);
19     server_addr.sin_addr.s_addr = inet_addr("10.9.42.228");
20     int ret = connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));
21     if (ret != 0)
22     {
23         perror("connect");
24         return -1;
25     }
26     // 3.发送消息
27     send(sockfd, "hi server", sizeof("hi server"), 0);
28     // 4.接受消息
29     char buf[1024] = "";
30     recv(sockfd, buf, sizeof(buf), 0);
31     printf("recv:%s\n", buf);
32     // 5.关闭套接字
33     close(sockfd);
34     return 0;
35 }

 

标签:include,addr,int,TCP,server,sockfd,C语言,buf,客户端
From: https://www.cnblogs.com/mengyaoli/p/17899846.html

相关文章

  • 富客户端无法抓包的解决方案
    ......
  • 铁威马NAS使用docker方式运行Solopace.Gem客户端
     安装DockerManagerNAS系统版本:系统桌面点击启动“应用中心”,搜索docker,选择“DockerManager”进行安装选择“已安装”菜单栏,找到DockerManager并启用开启ssh远程连接桌面打开:控制面板>>终端与SNMP>>Telnet/SSH,按照下图设置并应用运行SolopaceGemDocker容器使用任意支持ssh协......
  • C语言技巧
    隐藏在C语言里面的奇技淫巧对齐到最近的8的倍数。这个表达式(size+7)&~(7)是一个常见的位操作技巧,用于将size向上对齐到最近的8的倍数。~(7):首先,7的二进制表示是0111。按位取反~操作会将所有的1变为0,所有的0变为1,所以~(7)就是1...1000。size+7:这个操作是将......
  • TCP详解
    1.TCP介绍TCP是面向连接的、可靠的、基于字节流的传输层通信协议。2.TCP头格式源端口号/目的端口号序号解决包乱序问题确认序列目的是确认发出去对方是否有收到。如果没有收到就应该重新发送,直到送达,这个是为了解决丢包的问题。首部长度表示TCP首部有多少个(4字节)的......
  • Apollo 4 客户端 SDK 设计
    前言之前聊了客户端的一些功能,例如融入Spring,@value注解的自动刷新实现,长轮询等,这次从客户端的整体设计来聊聊。设计上图是client项目的包结构。其中,核心包就是internals包,包含了客户端的主要功能逻辑。主要有以下功能:0.获取ConfigService服务的远程配置。长轮......
  • 实验6 C语言结构体、枚举应用编程
    1.实验任务1源代码1//P286例8.172//对教材上的程序作了微调整,把输出学生信息单独编写成一个函数模块3//打印不及格学生信息和所有学生信息程分别调用45#include<stdio.h>6#include<string.h>7#defineN3//运行程序输入测试时,可......
  • c语言,任意位置插入字符或者字符串
    char*insert(char*s1,char*s2,intn){intlen1=0,len2=0,i,j=0,k=0;charstr3[100];if(s1==NULL){returnNULL;}if(s2==NULL){returns1;}len1=strlen(s1);if(n>strlen(s1))......
  • TCP连接断开:为什么要挥手四次
    本文分享自华为云社区《解密TCP连接断开:四次挥手的奥秘和数据传输的安全》,作者:努力的小雨。TCP连接断开在当今数字化时代,互联网已经成为了人们生活中不可或缺的一部分。而在互联网的基础之上,TCP协议扮演着关键的角色,它负责着数据在网络中的可靠传输。在TCP连接的建立过程中,我......
  • C语言入门这一篇就够了(入门篇1)
    C语言是什么C语言是一种广泛使用的通用编程语言,它是由美国计算机科学家DennisRitchie于1972年在贝尔实验室开发出来的。C语言的设计原则是让程序员有更多的自由度,以方便控制硬件,从而提高程序的运行效率。它支持结构化编程、词汇变量作用域和递归等功能,并且可以直接访问物理内存地......
  • C语言!!!!
    //已有一个已正序排好!!!的9个元素的数组//今输入一个数要求按原来排序的规律将它插入数组中。//样例输入//1781723245962101//50#include<stdio.h>intmain(){inta[10],i,m,t;//因为要插入一个数所以共有十个数下标为10for(i=0;i<9;i++){sca......