我想将安卓手机设置为 wifi 热点,然后在其上运行网络服务器,并从连接到热点的另一部手机浏览它。
我的手机没有 root,但我有termux,它有很多 unix 实用程序。我不想安装额外的应用程序。(但很高兴写一个!)
我可以在http://localhost
(在主机上)查看 python 的简单网络服务器,但不能在另一部手机上查看。我尝试使用主机电话的面向公众的 IP(使用 whatsmyip 类型的网页检查它),但没有用。有人说移动 ISP 通过映射不同的内部和外部 IP 来防止这种情况……但在这里,它不是通过 ISP,而是通过热点……
我还尝试了来自ifconfig
和来自 android 中的 wifi 控件的IP 地址,这确实适用netcat
- 但只有连接到热点(而不是主机)的客户端电话的 IP。
也就是说,netcat
在连接到netcat
热点的手机上收听,然后在热点手机上连接到它。(ierole 交换:热点客户端是 netcat 服务器)。古怪,热点电话似乎并不具有一个IP(至少,不是一个我已经能够发现,到目前为止)。但它必须有一个,不是netcat
吗,为了连接......?
无论如何,我想要热点主机上的网络服务器,所以我需要它的IP来连接它......有没有办法得到它?
这一直困扰着我多年。非常感谢您的帮助!
编辑这个问题的答案说它(几乎)总是 192.168.43.1。我现在无法尝试;我有时会更新。
更新
1.192.168.43.1
工作
2.py http.server
适用于常规文件(例如 txt、pdf),但视频文件似乎需要一些它缺少的流媒体协议。我发现lighttpd
有这个(在termux
using 中可用apt install lighttpd
)。但它需要配置(没有eg/default)。我用了:
$ cat > lighttp.conf
dir-listing.activate = "enable"
server.port …
Run Code Online (Sandbox Code Playgroud) perl,python,java和vim等用于实现正则表达式解析的基本方法是什么?
不聪明的形式语言的方法(即NFA
,DFA
); 也不是解析器组合器(例如14行正则表达式引擎).
我有一个看看源Java的实现Perl的风格的正则表达式,但其sophistcated功能(如,后引用)和效率(例如博耶-穆尔串匹配),使得它很难看到它是如何基本工作原理.
编辑
各种消息来源说:"回溯"参与(如正则表达式匹配可以是简单,快速 ; 形式化方法的课程),但并不清楚在什么是退步的 ...它来评估的方式NFA
?它可以直接从正则表达式的AST完成吗?
java/perl/python正则表达式引擎实际上做了什么?
它是这样的:"一种用常规语言生成所有可能单词的方法,但只要它与输入字符串不匹配就放弃一个特定的单词".