teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

環境と試した内容を追記。

2018/02/05 01:36

投稿

yakota
yakota

スコア7

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クラスを利用してみるも上手く繋がらない。