- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个服务器(在我的笔记本电脑上运行的 java 应用程序)和一个客户端(在我的 android 智能手机上运行的 java 应用程序)。我正在尝试从我的客户端自动查找服务器的 IP 地址.
现在我只是在同一个 LAN (192.168.1.0 > 192.168.1.1.255) 中循环所有 IP,如果服务器(正在监听自定义端口)接受连接,那么我就找到了 IP。
问题是,如果我将连接超时设置为小于 200 毫秒,大多数时候客户端找不到服务器。
所以问题是,我如何才能实现更好(更快)的方法来查找服务器 IP?我尝试了 java InetAddress.isReachable() 方法,但服务器似乎总是无法访问...
而且,如果没有更好的方法,您认为本地 (LAN) 套接字连接的超时值是多少?
1 Câu trả lời
只是为了其他人......我刚刚找到了一种在不到半秒内找到服务器 IP 的好方法!
这里是我的解决方案:
String partialIp = "192.168.1.";
int port = 123;
int counter;
boolean found;
String ip;
Runnable tryNextIp = new Runnable() {
@Ghi đè
công khai void run() {
int myIp = counter++;
String targetIpTemp = partialIp + myIp;
Socket socketTemp = new Socket();
thử {
socketTemp.connect(new InetSocketAddress(targetIpTemp, port), 6000);
socketTemp.close();
ip = targetIpTemp;
found = true;
} bắt (IOException e) {
thử {
socketTemp.close();
} catch (IOException e1) {}
}
}
};
String findIp() {
counter = 0;
found = false;
ExecutorService executorService = Executors.newFixedThreadPool(256);
for (int i=0; i<256; i++) {
if (found)
phá vỡ;
executorService.execute(tryNextIp);
}
executorService.shutdown();
thử {
while (!found && !executorService.isTerminated())
executorService.awaitTermination(200, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {}
if (found)
return ip;
khác
trả về giá trị null;
}
关于java:LAN 连接的良好套接字超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22647034/
Tôi biết câu hỏi này có thể đã được hỏi trước đây, nhưng tôi đã kiểm tra tất cả các câu hỏi và tôi nghĩ trường hợp của tôi khác (xin hãy thông cảm). Vì vậy, tôi có hai tập dữ liệu, tập đầu tiên là tập dữ liệu thử nghiệm và tập thứ hai là các dự đoán (giá trị dự đoán, đó là lý do tại sao không có cột dữ liệu) mà tôi đã lưu trong một khung dữ liệu. Tôi muốn hợp nhất hai cái đó
Với sự trợ giúp của phương thức .loc, tôi xác định các giá trị trong một cột của khung dữ liệu Panda dựa trên các giá trị trong một cột khác của cùng khung dữ liệu đó. Đoạn mã dưới đây để bạn tham khảo: var1 = output_df['Player'].loc[out
Khi tôi sử dụng WinSCP trong Windows để kết nối với VMware thông qua Ubuntu, nó báo: Máy chủ đã từ chối kết nối SFTP, nhưng nó
Tôi đang phát triển một ứng dụng Android sử dụng dịch vụ web xml. Nó hoạt động tốt khi được kết nối trong mạng wi-fi, nhưng không thành công (http 404 không tìm thấy) khi được kết nối trong mạng 3G. Điều này không chỉ xảy ra ở các thiết bị. Để đo lường
Tôi có một tệp XIB chứa điều khiển của tôi, được tải vào Interface Builder (Xcode 4.0.2 trên Snow Leopard). Chủ sở hữu của tệp được đặt thành someClassController
Tôi quản lý cơ sở dữ liệu MySQL trên máy cục bộ của mình và kết nối với nó thông qua C bằng cách chạy chương trình sau: #include #include #include int main(int argc, char** arg
Tôi không hiểu tại sao mỗi lần có ai đó truy cập vào một trang trên trang web của tôi thì lại có một kết nối mới đến cơ sở dữ liệu được mở ra. Cuối cùng, tôi tải đến khoảng 300 và gặp lỗi và trang không tải được nữa. Cách tôi nghĩ nó nên hoạt động là, tôi đặt maxIdle thành 30, nghĩa là
Đang tìm cách dọn dẹp các tệp .txt trong NMEA GPS. Mã hiện tại của tôi như sau. xóa = ['$GPGGA', '$GPGSA', '$GPGSV', '$PSRF156', ] tìm kiếm
Tôi có một URL, một tên người dùng và một mật khẩu. Tôi muốn thiết lập kết nối VPN trong C# .Net WinForms. Bạn có thể cho tôi biết phải bắt đầu từ đâu không? Có API của bên thứ ba nào không? Các ví dụ về mã sẽ được đánh giá cao... Câu trả lời hay nhất Bạn có thể làm như thế này
Có cách nào tốt hơn để chuyển đổi một vectơ chuỗi thành một vectơ ký tự có ký tự kết thúc bằng số không giữa các chuỗi không? Vì vậy, nếu tôi có một vectơ chứa các chuỗi sau, "test", "my", "string", thì tôi muốn nhận được một
Tôi đang viết một thư viện liên tục kiểm tra kết nối của thiết bị Android và gửi lệnh gọi lại khi thiết bị được kết nối, ngắt kết nối hoặc kết nối Internet chậm. https://github.com/muddassir235/connection_ch
Hệ điều hành của tôi: Centos 7 + CLOUDLINUX 7.7 Khi tôi thử đăng nhập vào Mysql từ máy chủ [root@server3 ~]# Mysql -u root -h localhost -P 330
Tôi gặp lỗi: Puma tìm thấy lỗi này: Không thể mở kết nối TCP tới localhost:9200 (Kết nối bị từ chối - kết nối (2) cho cổng 'localhost' 9200) (Faraday::ConnectionFailed) trong
Xin hãy cho tôi giải pháp khắc phục lỗi sau. Đây là một ứng dụng trò chuyện.... Mã và lỗi như sau:: conversations_controller.rb def create if Conversation.bet
Tôi muốn nối dữ liệu từ hai ô thành một ô. Tôi cũng muốn chỉ kết hợp những ô có cùng ID. ID nhiệm vụ Tên 4355.2 Người tham gia 4355.2 Người lãnh đạo 4462.1 Trực tuyến 4462.1 Nhanh 4597.1
Tôi thường cần nối các trường trong TSQL... Hai vấn đề mà TSQL buộc bạn phải xử lý khi sử dụng toán tử "+" là Thứ tự ưu tiên kiểu dữ liệu và giá trị NULL. Với thứ tự ưu tiên kiểu dữ liệu, vấn đề nằm ở lỗi chuyển đổi. 1)
Có ứng dụng Facebook Connect dành cho iPad hoặc iPhone không? Ý tưởng là đăng nhập vào ứng dụng và sau đó có thể xem người dùng Facebook nào của tôi cũng đang sử dụng ứng dụng và các tính năng của nó. Câu trả lời tốt nhất là có.
Tôi đang gặp vấn đề kỳ lạ khi nối hoặc in chuỗi. Tôi có một char * mà tôi có thể thiết lập thành một trong nhiều giá trị từ một chuỗi ký tự. char *myStrLiteral = NULL; ... nếu (blah) myStrLiteral
Đối với dữ liệu sau - hãy cho $x := "Yahooooo !!!! Chọn một số - " hãy cho $y := 1 2 3 4 5 6 7 Tôi muốn lấy
Tôi đang xem video đào tạo về Perl của UDEMY, nhưng video không rõ ràng và có vẻ như có lỗi. Bài đào tạo này sẽ hướng dẫn cách nối 2 chuỗi bằng ví dụ sau: #!usr/bin/perl print $str = "Hi";
Tôi là một lập trình viên xuất sắc, rất giỏi!