资源简介

代码是对ARM linux 和上位机windows10进行TCP/IP网络通信,可直接代码移植,比较简单易懂,适合初学者

资源截图

代码片段和文件信息

/************************************************************************* 
    > File Name: main.c (Linux Client)
 ************************************************************************/  

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include  
#include 

//API
//#include 
//#include 


//**********************宏定义****************************
 #define portno 3000     //端口定义
 #define IPADDR “222.31.70.34“    //IP 地址
 
 #define bufsize 1024
//END_define——————————————————————————
 


//********************子函数声明**************************
//发送文件-----------------------
//int TX_file(int sockfd);

//异常退出-----------------------
void  error(const char *msg)//定义一个指向字符常量的指针msg,*msg的值为const,不能修改
{
    perror(msg);//将错误信息输给msg   错误输出函数
    exit(0);//程序正常退出
}
//END_define———————————————————————————


//*******主函数*******主函数*******主函数*******主函数*********
//*******主函数*******主函数*******主函数*******主函数*********
int main(int argc char *argv[])
{
//定义变量
int sockfd;                                       //存放客户端网络套接字
struct sockaddr_in serv_addr;                     //sockaddr_in结构体把port和addr 分开储存在两个变量中
char buffer[1024];                         //receive buffer length
in_addr_t inet_addr(const char *straddr);       //字符串IP转网络序列

//建立socket套字
sockfd = socket(AF_INET SOCK_STREAM 0);
if (sockfd < 0) 
error(“ERROR opening socket“);
        
//初始化IP-port
bzero((char *) &serv_addr sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(portno);
serv_addr.sin_addr.s_addr=inet_addr(IPADDR);

//建立连接
if (connect(sockfd(struct sockaddr *) &serv_addrsizeof(serv_addr)) < 0) 
error(“ERROR connecting“);

//循环发送
while(1)
{
//清空buffer
bzero(bufferbufsize);

//打开文件
FILE*fp=fopen(“data.txt““rb“);//以二进制方式打开文件
if(fp == NULL)
{//检验data.txt文件是否存在
printf(“Cannot open the file check out please.“);
system(“pause“);
exit(0);
}

int nCount num;
while((nCount=fread(buffer1bufsizefp))>0)
{ //fread读取成功返回值为实际读回的数据个数(单位为Byte)
//写入socket并发送
num=write(sockfdbuffernCount);
     if (num < 0) 
         error(“ERROR writing to socket“);
}

fclose(fp);
}
//关闭socket
close(sockfd);
return 0;
}

//END_main_function------------------------------------------------------------------------


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-04 15:37  201805003win_server\
     目录           0  2018-12-04 15:37  201805003win_server\LIclient\
     文件        3065  2018-05-04 10:08  201805003win_server\LIclient\client.c
     文件        6924  2018-05-04 10:14  201805003win_server\LIclient\client.o
     文件        2991  2018-05-04 10:02  201805003win_server\LIclient\main.c.bak
     文件         541  2018-05-04 10:13  201805003win_server\LIclient\Makefile
     文件       15367  2018-04-19 16:47  201805003win_server\LIclient\root@169.254.31.142
     文件       11240  2018-05-04 10:14  201805003win_server\LIclient\socket_client
     目录           0  2019-05-17 17:08  201805003win_server\PCserver\
     文件        3521  2018-05-04 09:59  201805003win_server\PCserver\main.c.bak
     文件         294  2018-05-04 10:19  201805003win_server\PCserver\Makefile
     文件        2376  2018-04-16 16:49  201805003win_server\PCserver\recdata.txt
     文件        3517  2018-05-04 10:01  201805003win_server\PCserver\server.c
     文件        2270  2018-05-04 10:19  201805003win_server\PCserver\server.o
     文件       69141  2018-05-04 10:20  201805003win_server\PCserver\socket_server.exe
     目录           0  2018-03-11 09:18  my_socket\
     目录           0  2018-03-10 21:20  my_socket\client\
     文件        4750  2018-03-10 15:48  my_socket\client\data.txt
     文件        3043  2018-03-10 21:16  my_socket\client\main.c
     文件        2693  2018-03-10 21:20  my_socket\client\main.o
     文件         292  2017-10-25 16:46  my_socket\client\Makefile
     文件       71150  2018-03-10 21:20  my_socket\client\socket_client.exe
     目录           0  2018-03-11 09:08  my_socket\server\
     文件        2234  2018-03-11 09:07  my_socket\server\main.c
     文件        7452  2018-03-10 21:20  my_socket\server\main.o
     文件         539  2017-10-25 16:46  my_socket\server\Makefile
     文件       11886  2018-03-10 21:20  my_socket\server\socket_server
     目录           0  2018-03-10 18:17  my_socket_verify\
     目录           0  2018-03-10 21:23  my_socket_verify\client\
     文件        2778  2018-03-10 21:17  my_socket_verify\client\main.c
     文件        2511  2018-03-10 21:23  my_socket_verify\client\main.o
............此处省略8个文件信息

评论

共有 条评论