嵌入式项目远程控制-服务器端
2016-03-15 22:02
351 查看
登录云主机的方法 1 打开mac 终端 ssh root@42.123.81.215 密码是:******* 进入之后 cd /var/www/html/api/ 可以看到data, jindu ,kaidu,等文件夹 这些文件里面都有3个文件 data.txt get.php post.php 1 <?php 2 $file = fopen("data.txt","r”); 3 $data = file_get_contents("data.txt”); 4 $data1="+".$data; 5 echo $data1; 6 ?> 7 post.php <?php 2 $file=fopen("data.txt","w”); 3 $data=$_GET['data’]; 4 if(fwrite($file,$data)){ 5 echo "ok”; 6 } else { 7 echo "faile”; 8 } 9 ?> data.txt 123 留给外界的接口是: 取数据 http://42.123.81.215:81/api/data/get.php 存数据 http://42.123.81.215:81/api/data/post.php?data=123 其中存取数据都是对data.txt里面的字符串进行操作 所以每一个数据源对应的是一个文件夹 比如 经度 就存放在jindu这个文件夹 纬度 就存放在weidu这个文件夹 这样一个简单的web服务端就搭建成功了。你可以在线通过 浏览器调试。我们用手机和浏览器都进行过测试 都没有问题 但是用单片机连接出现了问题 推测原因是单片机 不能像手机和浏览器处理get 请求那样强大的功能。 所以单片机连接后每发送一次数据就耗时特别严重。导致不能实时修改数据和更新数据
下面连个是网上找的TCP服务端和客户端代码
服务端
server.c #include <stdio.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> int main(int argc, char **argv) { int listenfd; int connfd; struct sockaddr_in servaddr; listenfd = socket(PF_INET, SOCK_STREAM, 0); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(50001); bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); listen(listenfd, 10); connfd = accept(listenfd, (struct sockaddr *)NULL, NULL); int n; char recvline[1024]; while((n=read(connfd, recvline, 1024)) > 0) { recvline = 0; printf("%s\n", recvline); } close(connfd); close(listenfd); return 1; }
客户端
client.c #include <stdio.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> int main(int argc, char **argv) { int sockfd; struct sockaddr_in servaddr; sockfd = socket(PF_INET, SOCK_STREAM, 0); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(50001); servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); char sendline[100]; sprintf(sendline, "Hello, world!"); write(sockfd, sendline, strlen(sendline)); close(sockfd); return 1; }
以上两个代码的地址
相关文章推荐
- 小心服务器内存居高不下的元凶--WebAPI服务
- 运维入门
- 利用开源软件打造自己的全功能远程工具
- Linux5.9无人值守安装
- 数据中心和云未来的十二大趋势
- 用vsftp快速搭建ftp服务器
- Linux快速构建apache web服务器
- 服务器监控策略浅谈
- 如何降低服务器采购成本 原理分析
- 建议的服务器分区办法
- 服务器托管六大优势分析
- Erlang实现的一个Web服务器代码实例
- 服务器技术全面解析
- 保护DNS服务器的几点方法小结
- 我国成为全球第二大服务器消费国
- 服务器 安全检查要点[星外提供]
- 服务器应用自动重新启动IIS批处理[原创]_DOS/BAT_脚本之家
- FTP 服务器关于权限的问题
- 批处理设置windows服务器的代码ThecSafe1.9.4第1/3页