C语言实现TCP连接

Posted 我想月薪过万

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言实现TCP连接相关的知识,希望对你有一定的参考价值。

开发环境

           TCP服务端:TCP&UDP测试工具

            开发环境:Linux

            编程语言:C语言

            TCP&UDP测试工具工具的使用请自行百度,我们用这款软件模拟TCP服务端。

效果展示

C语言TCP连接通信演示

代码编写

#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>

int main(){

  //构造socket AF_INET SOCK_STREAM IPPROTO_TCP这三个参数在 系统提供的头文件(socket.h)中定义的 
  int mySocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  printf("Socket: %d\\n",mySocket);

  //连接服务器,用的是connect()函数,调用需要一个sockaddr_in结构体
  struct sockaddr_in serverAddr;
  serverAddr.sin_family = AF_INET;
  serverAddr.sin_port = htons(6001);
  serverAddr.sin_addr.s_addr = inet_addr("10.162.72.78");  //这里填上服务器的IP地址
  //反复循环接收服务器传来的数据
  while(1){
      connect(mySocket, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr));
  
      //接收服务器发送的数据
      char buffer[40];
      read(mySocket, buffer, sizeof(buffer)-1);
      printf("Message form server: %s\\n", buffer);
  }

  //关闭连接
//   close(mySocket);
  
  return 0;
}

 

以上是关于C语言实现TCP连接的主要内容,如果未能解决你的问题,请参考以下文章

使用C语言实现服务器/客户端的TCP通信

为什么要使用 TCP keepalive?C/C++代码实现TCP keepalive

Go语言实战简简单单的几十行代码实现 TCP 通信

自己用C语言构造数据包,实现TCP三次握手过程,为啥中间会产生一个RST信号?

有没有windows下c语言实现udp协议的代码

Python 之 Socket编程(TCP/UDP)