質問編集履歴
1
環境と試した内容を追記。
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,12 +8,14 @@
|
|
8
8
|
同一サブネット内であれば問題ありませんが、別サブネットに対して行うと接続に失敗しているようです。
|
9
9
|
|
10
10
|
```ここに言語を入力
|
11
|
+
/* 本来はクラスをオーバーライドしていますが、伝わりやすいように変数にしています */
|
12
|
+
QTcpSocket socket;
|
11
13
|
|
12
14
|
/* TCP接続 */
|
13
15
|
QHostAddress target( "192.168.100.26" );
|
14
|
-
connectToHost( target, 13200 );
|
16
|
+
socket.connectToHost( target, 13200 );
|
15
17
|
|
16
|
-
if( !waitForConnected( 5000 ) ){
|
18
|
+
if( !socket.waitForConnected( 5000 ) ){
|
17
19
|
return false; // ここでタイムアウトしてしまう
|
18
20
|
}
|
19
21
|
|
@@ -24,16 +26,19 @@
|
|
24
26
|
以下がサンプルとなります。
|
25
27
|
|
26
28
|
```ここに言語を入力
|
29
|
+
/* 本来はクラスをオーバーライドしていますが、伝わりやすいように変数にしています */
|
30
|
+
QTcpSocket socket;
|
31
|
+
|
27
32
|
/* 自身のLocalAddress設定 */
|
28
33
|
QHostAddress pcAddress( "192.168.1.228" );
|
29
|
-
setLocalAddress( pcAddress );
|
34
|
+
socket.setLocalAddress( pcAddress );
|
30
|
-
setLocalPort( 0 );
|
35
|
+
socket.setLocalPort( 0 );
|
31
36
|
|
32
37
|
/* TCP接続 */
|
33
38
|
QHostAddress target( "192.168.100.26" );
|
34
|
-
connectToHost( target, 13200 );
|
39
|
+
socket.connectToHost( target, 13200 );
|
35
40
|
|
36
|
-
if( !waitForConnected( 5000 ) ){
|
41
|
+
if( !socket.waitForConnected( 5000 ) ){
|
37
42
|
return false; // ここでタイムアウトしてしまう
|
38
43
|
}
|
39
44
|
|
@@ -44,4 +49,19 @@
|
|
44
49
|
(ルーターも合わせて設定済みの環境です)
|
45
50
|
|
46
51
|
何かQtの足りない設定や、使用方法等に問題がありますでしょうか?
|
47
|
-
ご回答宜しくお願いいたします。
|
52
|
+
ご回答宜しくお願いいたします。
|
53
|
+
|
54
|
+
【補足】
|
55
|
+
ネットワーク構成および、こちらでの確認済み内容について補足させて頂きます。
|
56
|
+
|
57
|
+
環境:
|
58
|
+
・Windows10
|
59
|
+
・オンボードとUSBを含めて、複数のネットワークカードが利用可能な状態
|
60
|
+
・1つのネットワーク設定を固定IP Addressとして、以下のように接続
|
61
|
+
[PC(192.168.1.228) == (192.168.1.1) Router (192.168.100.1) == (192.168.100.26)]
|
62
|
+
|
63
|
+
状況:
|
64
|
+
・送信元(192.168.1.228)が指定できるようなTCP接続確認ツールでは接続できている。
|
65
|
+
・接続確認にはWireSharkも利用し、パケットの送受信も確認できている。
|
66
|
+
・一応[ipconfig 192.168.100.26 -S 192.168.1.228]でも応答は確認できている。
|
67
|
+
・Qtでも同様の事をしたく、TCP Socketクラスを利用してみるも上手く繋がらない。
|