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:...........

运行截图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱打辅助的小可爱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值