资源简介
代码是对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个文件信息
相关资源
- Linux系统下基于Qt的局域网即时通信系
- linux设备驱动详解视频宋宝华百度网盘
- linux 命令解释器
- linux下weblogic安装部署全套
- 全志A13移植Linux所用的配置文件.conf
- 嵌入式视频教程.txt
- unoconv-0.5-1.el6.rf.noarch.rpmunoconv命令插件
- 8.11.1版本IAR+破解文件
- Linuxc 信号的使用
- windows10 下MITK的安装编译
- Windows Installer CleanUp Utility_v4.71.1015.0
- Linux实验四shell编程
- 基于LinuxTcp聊天室的设计与实现
- qt-opensource-linux-x64-5.7.0.run.txt
- Hadoop安装ubuntu16.04+ hadoop-2.9.1.tar.gz+j
- Red_Hat_Enterprise_Linux-6-DM_Multipath-zh-CN.
- Linux教程孟庆昌版课后答案1,2,3,
- Linux2048详细注释版-验证可运行
- Linux操作系统实验报告
- linux下QT游戏五子棋源代码
- Lua-5.3.4_Win64_bin
- Anaconda3-5.2.0-Windows-x86_64.exe
- Linux添加系统调用遍历进程
- mac地址修改器windows 10 、windows7测试都
- jdk-8u221-linux-x64.tar.gz&jdk;-8u221-windows-
- dos2unix for windows
- 一个简单的LINUX防火墙
- 人脸识别在arm板上的实现
- 飞凌ok6410 linuxLED驱动及应用程序
- Windows简单调试器源码
评论
共有 条评论