/******************************* 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)
{

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

969

被折叠的 条评论
为什么被折叠?



