socket通信+数据写入数据库 程序代码

这是一个C++程序,演示了如何使用Socket进行客户端和服务器通信,同时将接收到的数据写入数据库。客户端通过Socket发送数据结构到服务器,服务器接收数据后将其存储到MySQL数据库中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /*******************************     client             **************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <pthread.h>
#include <sys/socket.h>

#define MAX_LEN 1024*10
#define PATH "./recvdata.txt"
#define PORT 5678
#define REMOTE_IP "127.0.0.1"

pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;

int myarg_one = 1;
int myarg_two = 2;
int s;

struct dataPack_t
{
  float data;
   int time;
};
struct dataPack_t dataPack[12];


double
makedata ()
{
  int i;
  double randnum;
  time_t t;
  srand ((unsigned) time (NULL));
  randnum = 5 + (pow (-1, rand ()) * (rand () / (double) (RAND_MAX)));
return randnum;
}

void *
thread_recvdata (void *arg)
{
  int i, err;
  FILE *fp;
  int len = MAX_LEN;
  char sendbuf[MAX_LEN];
  pthread_mutex_lock (&mutex1);
  if (*(int *) arg == 1)
    {
      fp=fopen(PATH,"wb");
      if (fp == NULL)
        {
          perror ("open error!");
          exit (1);
        }
      for (i = 0; i < 12; i++)
        {
          sleep (1);
          dataPack[i].data = makedata ();
          err = fprintf (fp,"%f/n",dataPack[i].data);
          if(err== -1)
          {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值