我正在使用android 4.1.1 ...我正在创建一个应用程序,允许用户使用Wifi Hotspot创建自己的网络,然后客户端可以连接到它并共享数据.我已成功在android中创建了Wifi热点但我无法为此目的配置它.有没有办法通过编码在android上配置Wifi Hotspot?
Delphi应用程序网络共享管理器保留2020-2039范围内的20个端口,以启动其通信线程.我想知道当第21个应用程序在同一台计算机上启动时会发生什么.事实证明,这个应用程序只是挂起无响应,直到它被杀死,我还没有找到一种方法来优雅地终止它.
要重现,只需将TTetheringManager和TTetheringProfile放在空表单上,将配置文件连接到Manager,编译,在IDE外部启动应用程序20次,最后在IDE中启动第21个实例.
这是我到目前为止所发现的:
在System.Tether.NetworkAdapter:procedure TTetheringNetworkManagerCommunicationThread.Execute ; 一个ETetheringException.Create(SManagerNetworkCreation)时,无论是TCP或UDP的通信服务器不能启动被升高.到现在为止还挺好.
此异常显示在调试器中.当我继续并逐步执行以下代码时,应用程序最终挂起在System:function AcquireExceptionObject中,并且永远不会返回.
由于在Application.Run期间引发了应用程序,我试图通过以下方式捕获异常:
try
Application.Run;
except
ShowMessage('Something went terribly wrong!');
end;
Run Code Online (Sandbox Code Playgroud)
但这没用.有关我如何捕获(或阻止)此异常的任何建议?
我正在尝试在Android Studio上测试它时限制设备的网络连接.我的策略是尝试将手机连接到我的macbook Air,以便将计算机充当热点.计算机将通过wifi连接到互联网,并应作为任何配对设备的互联网热点.
但是从未设置过互联网连接,因此Android设备永远不会在线连接.
我做了什么:


这是我在设备上的蓝牙设置:


我的手机没有扎根,坦率地说,我宁愿不必根它 - 但由于某种原因,手机没有在macbook air上检测到蓝牙.但是macbook确实检测到手机并能够向其发送文件.
是什么赋予了?
我用这段代码激活网络共享模式:
private void setWifiTetheringEnabled(boolean enable) {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
Method[] methods = wifiManager.getClass().getDeclaredMethods();
for (Method method : methods) {
Log.e("teste", method.getName());
if (method.getName().equals("setWifiApEnabled")) {
try {
method.invoke(wifiManager, null, enable);
} catch (Exception ex) {
}
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码连接设备(并阅读信息)
br = new BufferedReader(new FileReader("/proc/net/arp"));
Run Code Online (Sandbox Code Playgroud)
但是在这个文件中(/ proc/net/arp)只有连接的设备,我想得到一些关于刚以网络共享模式扫描我的手机的设备的信息(Mac地址).
执行ntcfg我的回报:
04-10 10:32:27.908: E/test(18908): dummy0 DOWN 0.0.0.0/0 0x00000082 xx:xx:b6:69:37:4e
04-10 10:32:27.908: E/test(18908): wlan0 UP 192.168.43.1/24 0x00001043 xx:xx:11:f9:a9:45
04-10 10:32:27.908: E/test(18908): rmnet_usb0 UP 100.107.189.66/30 0x00000041 00:00:00:00:00:00
04-10 10:32:27.908: E/test(18908): rmnet_usb1 DOWN 0.0.0.0/0 …Run Code Online (Sandbox Code Playgroud) 我可以检查android设备是否激活了网络共享程序?
我刚观看了WifiManager课程.来自WifiInfo的所有视频都显示与在设备上关闭WIFI时相同的值.
Thnaks,最好的问候
这种链路聚合甚至可能吗?
在Windows机器上,有几个第三方应用程序利用绑定和负载平衡多个网络接口来提高吞吐量,例如Connectify Dispatcher.是否有可能为OSX开发这样的应用程序?是否已有任何第三方软件在OSX上执行此操作?我能找到的最接近的东西是IPNetRouterX,我没有用它来绑定USB和WiFi网络接口.
我也在OSX的终端中尝试了以下行:
sudo networksetup -createBond bond0 en1 en3
Run Code Online (Sandbox Code Playgroud)
...其中en1是我的WiFi接口,en3是我的USB网络接口,它只会导致:
** Error: The parameters were not valid.
Run Code Online (Sandbox Code Playgroud)
可能需要某种第二层"魔术胶"才能使其成为一种可能性......但主要是作为Windows程序员,我不确定Apple是否会喜欢允许这种级别的编程访问,考虑他们喜欢的专有权......
知道在这里可以做些什么吗?
我正试图在Play商店制作像"蓝牙自动网络共享"这样的应用程序.我在论坛上看到Android非常安全,并且在没有用户交互的情况下不会启用此设置.
我需要一些关于如何启用蓝牙网络共享的解释.
谢谢
我尝试使用以下代码在Android Marshmallow中创建wifi tethering Hotspot.
public class WifiAccessManager {
private static final String SSID = "1234567890abcdef";
public static boolean setWifiApState(Context context, boolean enabled) {
//config = Preconditions.checkNotNull(config);
try {
WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (enabled) {
mWifiManager.setWifiEnabled(false);
}
WifiConfiguration conf = getWifiApConfiguration();
mWifiManager.addNetwork(conf);
return (Boolean) mWifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class).invoke(mWifiManager, conf, enabled);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static WifiConfiguration getWifiApConfiguration() {
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = SSID;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
return conf;
}
}
Run Code Online (Sandbox Code Playgroud)
}
但它显示以下权限问题.. …
我正在做一个存储流量数据的应用程序,但我无法获得网络流量.
// UIDs for Tethering ?
appNames.put(5, "Tethering WiFi");
appNames.put(7, "Tethering USB");
appNames.put(10, "Tethering BT");
appNames.put(11, "Tethering Unknown");
appNames.put(-5, "!Tethering WiFi");
appNames.put(-7, "!Tethering USB");
appNames.put(-10, "!Tethering BT");
appNames.put(-11, "!Tethering Unknown");
for(ApplicationInfo app : cnt.getPackageManager().getInstalledApplications(0))
{
appNames.put(app.uid, app.packageName);
}
for(Integer uid: appNames.keySet())
{
apps.put(uid, new TrafficRecord(uid, appNames.get(uid)));
}
TrafficRecord(int uid, String tag)
{
tx = TrafficStats.getUidTxBytes(uid);
rx = TrafficStats.getUidRxBytes(uid);
this.tag = tag;
}
Run Code Online (Sandbox Code Playgroud)
但是,Tethering流量数据始终为空.我该怎么做?
我有一台三星 Galaxy Tab A 10.1",我想将其用作 PC 的第二个显示器。只要我所在的网络具有大量带宽,Spacedesk 就可以很好地满足我的需求,但我想更频繁地使用它其他环境中的第二显示器功能,例如在咖啡店,用户数量过多会导致网络流量下降,并使 Spacedesk 速度慢得令人无法接受。
Spacedesk 本身并不支持有线连接,但对于那些想要有线连接的人,他们建议使用 USB 网络共享,大概这样两个设备都位于同一网络上。问题是,我的平板电脑是仅 Wifi 版本,因此未启用 USB 网络共享。我对设备进行了 root 操作,并使用 adb 运行命令来启用 USB 网络共享作为选项。它没有采取 - 该选项从未出现在“设置/连接”下。然后我安装了 ClockworkMod Tether 作为第 3 方 USB Tether 应用程序。PC Tether 软件表示已成功连接到平板电脑,但 Spacedesk 无法连接。接下来我尝试了“gnirehtet”,一个反向网络共享应用程序。工作正常,但平板电脑上的 Spacedesk 再次找不到 PC 上的 Spacedesk 服务器。
如何让两台设备位于同一网络上,无需中间连接(例如路由器),同时保留我的电脑连接到 WiFi 的能力,并且允许 Spacedesk 进行连接?
tethering ×10
android ×8
android-wifi ×3
wifi ×3
bluetooth ×2
macos ×2
networking ×2
delphi ×1
delphi-xe8 ×1
exception ×1
java ×1
linux ×1
tether ×1