java搭建简单web服务器用于WiFi模块发送指令
目的:通过和WiFi模块连接同一手机热点,使用相同端口,用于给小车搭载的WiFi模块发送指令。
准备:电脑安装eclipse,使用java Socket编程
简单总结了一下写一个简单地服务器需要哪些步骤:
1.首先肯定要借助ServerSocket和Socket这两个类。
2.ServerSocket类指定服务器接口。
3.ServerSocket调用accept()方法生成一个Socket对象,Socket对象调用getInputStream()获得浏览器发来的Http请求的基本信息。
4.服务器解析Http请求的基本信息,从中取出浏览器想要访问的资源的具体位置。
代码如下:
import javax.swing.JFrame;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class MainUI extends JFrame{
private PaintUI jp=new PaintUI();
public static final int PORT = 12444;
public static void main(String[] args) {
MainUI ui=new MainUI();
ui.showui() ;
try {
Thread.sleep(30000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ui.ServerSocketTest();
}
public void ServerSocketTest() {
System.out.println(jp.getT1().getWhichroad());
try {
ServerSocket serverSocket=new ServerSocket(PORT);
System.out.println("服务器以启动等待客户端连接...");
Socket Client = serverSocket.accept();
System.out.println("Socket client" + Client.getRemoteSocketAddress() + "成功连接");
DataOutputStream out = new DataOutputStream(Client.getOutputStream());
System.out.println("向WiFi模块发送数据");
String s1 ="SNA";//前进
String s2 ="SNB";//后退
String s3 ="SNC";//左转
String s4 ="SND";//右转
String s5 ="SNF";//停止
switch(jp.getT1().getWhichroad()) {
case 1:
out.writeUTF(s1);//1,3
try {
Thread.sleep(4000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.writeUTF(s5);
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.writeUTF(s3);try {Thread.sleep(300);} catch (InterruptedException e1) {e1.printStackTrace();}
out.writeUTF(s1);//7
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.writeUTF(s5);
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.writeUTF(s4);try {Thread.sleep(300);} catch (InterruptedException e1) {e1.printStackTrace();}//7
out.writeUTF(s1);//13
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.writeUTF(s5);
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.writeUTF(s3);try {Thread.sleep(300);} catch (InterruptedException e1) {e1.printStackTrace();}//7
out.writeUTF(s1);//16
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.writeUTF(s5);
break;
case 2:...........
运行截图:
java搭建简单web服务器用于WiFi模块发送指令相关推荐
- android 杀 服务器,android busybox httpd搭建简单web服务器
安卓手机利用busybox中的httpd命令可以创建一个简单的web服务器. 我们可以在终端模拟器中输入一下命令查看httpd的使用帮助. busybox httpd --help 1|u0_a84@ ...
- 群晖NAS 7.X搭建本地web服务器并实现公网访问 1/3
系列文章 群晖NAS 7.X搭建本地web服务器并实现公网访问 1/3 群晖NAS 7.X搭建本地web服务器并实现公网访问 2/3 群晖NAS 7.X搭建本地web服务器并实现公网访问 3/3 随着 ...
- python django mysql安装_Django+Nginx+uWSGI+Mysql搭建Python Web服务器
原标题:Django+Nginx+uWSGI+Mysql搭建Python Web服务器 安装的时候全部选择英文,记得以前选择中文的时候安装时出了问题,服务器组件一个不选,Ubuntu安装做的很贴心,基 ...
- Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...
- Poco:创建个非常简单web服务器
C++ Poco创建个非常简单web服务器,需要先安装Poco库,配置好Poco头文件和库的路径,window和Linux下都可以编译运行,运行后在浏览器上输入网址:http://127.0.0.1: ...
- node.js搭建简易Web服务器
node.js搭建简易Web服务器 node.js简介 Node.js 是一个基于V8引擎的JavaScript 运行环境. V8 是为Google Chrome 提供支持的 JavaScript 引 ...
- 外网访问本地搭建的web服务器【免费内网穿透】
教大家一个简单的方法,实现在无公网IP环境下,在本地搭建web服务器,并实现外网远程访问. 使用工具: phpstusy:https://www.xp.cn/download.html cpolar内 ...
- go语言服务器代码,Go语言开发简单web服务器
欢迎,来自IP地址为:182.103.254.107 的朋友 Go语言由于其方便的并发通信机制以及强大的网络支持,常常被用于服务器软件的开发.本文将示例使用Go语言来开发简单的Web服务器. HTTP ...
- 网站搭建教程:搭建本地web服务器 4/23
系列文章 网站搭建教程:内网穿透测试将本地静态网站发布公网可访问 1/23 网站搭建教程:安装源代码编辑软件 2/23 网站搭建教程:建立开放源代码的简单网页 3/23 网站搭建教程:搭建本地web服 ...
最新文章
- radio切换控制div显示_React 项目实践——搭建一个温度控制 App
- windows下python3关于机器学习的环境配置,Anaconda的安装和使用方法以及安装后无法打开的解决方法
- 技术干货 | 视频最佳体验之自适应调节系统
- python中sort命令介绍以及list结构中统计各元素出现的个数的方法
- 前端学习(1948)vue之电商管理系统电商系统之排序
- java.lang.math.abs_java.lang.StrictMath.abs(int a)方法实例
- linux根文件系统的挂载过程详解
- 局域网arp攻击_图解ARP协议(二)ARP攻击原理与实践
- 下一代企业IT架构:云原生架构
- GeoPandas入门 | 03-空间关系和操作
- 2019春运购票指南 “盘”票不易 回家过年的票你买到了吗
- python文件是乱码怎么办_python写入文件乱码怎么办
- 搞死SAP系统系列 让系统无法连接数据库
- 工单处理之--docker版java应用增加调试日志的笨方法
- 在用AI死磕垃圾分类这件小事上,麻省理工、MaxAI们创造了这些利器,神助攻还是花拳绣腿?...
- 首届·技术播客月开播在即
- 在i3wm中修改默认终端
- codeforce 332B Maximum Absurdity
- 计算机系技能比赛黑板报,关于技能比武主题的黑板报
- SD卡里的视频无法正常播放出来怎么办?
热门文章
- 【Android 】零基础到飞升 | TouchListener PK OnTouchEvent + 多点触碰
- IPTG诱导蛋白表达的原理
- linux中的链接符号
- 新人制作机器人的7大误区
- js案例:5秒后自动跳转
- 详解即将于Go 1.18加入的Go泛型特性 | Gopher Daily (2021.09.27) ʕ◔ϖ◔ʔ
- 子线程更新UI,牵扯activity的启动过程
- Selenium的实现原理,一篇文章讲透彻!
- JAVA练习题———— 算法提高之征税程序
- 瑞芯微RK3568四核核心板芯片简介