我有2个Android设备,一个充当处于网络共享模式的服务器,并接受与端口的连接.另一个设备充当连接到服务器热点的客户端,并通过端口建立与服务器的连接.(一切都是在中间没有路由器的情况下完成的).
服务器代码如下所示:(当android服务器执行代码时,设备处于网络共享模式)
ServerSocket server = new ServerSocket(PORT);
while (true) {
Socket client;
client = server.accept();
ClientThread com = new ClientThread(client, this);
Thread t = new Thread(com);
t.start();
}
Run Code Online (Sandbox Code Playgroud)
客户端代码如下所示:(当android客户端执行此代码时,设备连接到访问点)
Socket client = new Socket();
int serverIP = wifiManager.getDhcpInfo().serverAddress;
String stringIP = android.text.format.Formatter.formatIpAddress(serverIP);
InetAddress address = InetAddress.getByName(stringIP);
SocketAddress socketAddress = new InetSocketAddress(address, PORT);
client.connect(socketAddress);
Run Code Online (Sandbox Code Playgroud)
我在客户端上收到以下错误
java.net.ConnectException: failed to connect to /192.168.43.1 (port 12345): connect failed: ENETUNREACH (Network is unreachable)
at libcore.io.IoBridge.connect(IoBridge.java:114)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
at java.net.Socket.connect(Socket.java:842)
at java.net.Socket.connect(Socket.java:785)
at com.alternatewifimeshmessaging.HostManager.clientConnect(HostManager.java:283) …Run Code Online (Sandbox Code Playgroud) 我听说编写跨平台c ++代码的方法是按如下方式定义类(例如,一个Window类):
window.h
window_win32.cpp
window_linux.cpp
window_osx.cpp
Run Code Online (Sandbox Code Playgroud)
然后相应地选择实现文件.但是如果我有那个类的成员相对于操作系统怎么办?就像HWNDWin32实现的成员一样.我不能把它放在window.h或者当我试图在Linux上编译它时,它会产生编译器错误.
我需要#ifdef它吗?我已经问了一个类似的问题,但是这个问题更关注这个问题.
使用 Javascript 和 jQuery,我试图获取单击事件的鼠标坐标以在其他 Javascript 函数中使用。我的问题是事件函数中设置的全局变量似乎不会在函数外部更新,就像其他函数中的全局变量一样。例如,如果我有以下全局变量声明和事件函数来跟踪 ID 为“clickable_area”的 div 中的鼠标坐标:
var mouseXPos = 0;
var mouseYPos = 0;
$(document).ready(function(){
$("#clickable_area").click(function(e){
mouseXPos = e.pageX;
mouseYPos = e.pageY;
});
});
Run Code Online (Sandbox Code Playgroud)
...除非我将处理 mouseXPos 和 mouseYPos 的所有代码都放入事件函数本身中,否则这两个变量在下一个事件之后才会更新并在事件函数之外可用。例如:
function displayCoordinates() {
console.log("mouseXPos = " + mouseXPos + " and mouseYPos = " + mouseYPos);
}
Run Code Online (Sandbox Code Playgroud)
...产量:
>>mouseXPos = 0 and mouseYPos = 0
Run Code Online (Sandbox Code Playgroud)
关于如何让这 2 个全局变量在触发后在函数外部更新的任何建议,或者我只是遇到了 Javascript 的固有设计需求?我可以使用回调队列来促进这一点吗?我可以跟踪“mousemove”事件,它工作正常,但我不希望不断跟踪鼠标移动的开销。
我开发了基于软键盘的Android键盘.现在设计选择器中使用的键盘并更改keybackgroung现在一切正常,除了单键和活动它们显示为标准键:(
这是我的slector代码:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_single="true" android:state_pressed="true" android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" />
<item android:state_single="true" android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
<item android:state_active="true" android:state_pressed="true" android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" />
<item android:state_active="true" android:drawable="@drawable/btn_keyboard_key_dark_active_holo" />
<item android:state_checkable="true" android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_holo" />
<item android:state_checkable="true" android:state_pressed="true" android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_holo" />
<item android:state_checkable="true" android:state_checked="true" android:drawable="@drawable/btn_keyboard_key_dark_normal_on_holo" />
<item android:state_checkable="true" android:drawable="@drawable/btn_keyboard_key_dark_normal_off_holo" />
<item android:state_pressed="true" android:drawable="@drawable/btn_keyboard_key_light_pressed_holo" />
<item android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
</selector>
Run Code Online (Sandbox Code Playgroud) 码:-
<html>
<head>
<script type="text/javascript" src="http://knockoutjs.com/downloads/knockout-2.3.0.js"></script>
</head>
<body>
<table>
<thead>
<tr>
<th>Name</th>
<th>InputType</th>
</tr>
</thead>
<tbody data-bind="foreach: settings">
<tr>
<td data-bind="text: name"></td>
<td><input data-bind="attr: {type: dtype}"/></td>
</tr>
</tbody>
</table>
<script type="text/javascript">
var viewModel = function(){
this.settings = ko.observableArray([{name: "Bungle",dtype:"text"},{name: "George",dtype: "checkbox"},{name: "Zippy",dtype:"text"}]);
};
ko.applyBindings(new viewModel());
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
以上代码也在小提琴http://jsfiddle.net/uByVQ/中捕获.虽然,在小提琴中捕获的场景在Chrome中运行良好但在IE8中无法正常运行.我收到了错误
"不支持此命令".
我正在使用淘汰赛2.3
任何人都可以指点我的解决方案吗?
谢谢.
我需要你的帮助 :
我有一个包含值的特定对象.其中一些值相等,有些不同.基于相同的值,我需要两个比较这些对象的两个ArrayLists.至少我必须删除所有未存储在两个列表中的条目.
我写了一个函数,它比较了某个Object中的某些字段:
public void compareTwoValues(certainObj1, certainObj2){
boolean returnStmt = true;
for(int i : keysToCheck){
if(!(jop1.returnValueForKey(i).equals(jop2.returnValueForKey(i)))){
returnStmt = false;
}
}
return returnStmt;
}
Run Code Online (Sandbox Code Playgroud)
现在我有问题,如何访问和删除对象,函数返回false?
我尝试在类似的界面的帮助下对它们进行排序并删除值,但我总是得到'concurrentmodificationexception'(是的,我知道:我使用了迭代器循环).
谢谢你的帮助 !
android ×2
javascript ×2
arraylist ×1
c++ ×1
header-files ×1
java ×1
jquery ×1
knockout.js ×1
sockets ×1
xml ×1