[delphi-users:4704] ソケットエラー

304 views
Skip to first unread message

イチロー

unread,
Jul 13, 2017, 1:39:37 AM7/13/17
to delphi...@freeml.com
イチローです。

アプリケーションテザリングを使ったアプリを作っています
(今までもいくつか質問させていただきました)。

このたび、Delphiを10 Seattleから10.2tokyoにアップデートして
今までのアプリを再構築しようとしましたが、
10.2でビルドするとアプリ起動時(TetheringManagerを有効にした時)に

'Socketエラー # 10048 アドレスは既に使われています。'

と出て、うまく使えません(10 Seattleで構築した時は問題ありませんでした)。

Windows側の問題かと思ってPCを再起動してみましたが同様の現象が出ます。

また、単純にTetheringManagerとTetheringAppProfileを置いただけのフォームを作っても
同様の現象が出るので、元々のアプリケーションに問題があるわけではなさそうです。

docwikiなどを見ても、10.2になってアプリケーションテザリングに
少々のアップデートがあった(SynchronizeEventsが追加されたなど)ということは書かれていても、
それ以上の記述は見つけられず、何か新たに設定しなければいけないのか分かりません。

何かこの辺り、ご存じの方がおられましたらお教えいただけると幸いです。
よろしくお願いします。

開発OS:Windows7
Delphi:10.2 tokyo とりあえずVCLで書いていますが、FMXでも使う予定。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
☆CM放映で今話題☆ 顔から足先までぜ~~~んぶ全身脱毛!!
スリムアップ全身脱毛33か所 月額9,500円(税抜)の初回分が無料!!!!
予約がとりやすいから夏までに間に合う♪♪
◆無料カウンセリングでご来店の方!今ならハンド脱毛体験無料実施中◆
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhbpZ
------------------------------------------------------[freeml byGMO]--

hosokawa

unread,
Jul 13, 2017, 1:50:59 AM7/13/17
to delphi...@freeml.com
こんにちは。

細川です。

単純に「新規マルチプラットフォームアプリケーション」を作って、
TTetheringManager / TetheringAppProfile を置いただけのアプリでは問題は起きませ
んでした。
(Windows 8.1 / Delphi 10.2 Tokyo + HotFix 2)

最小限の再現手順を公開するとレスがつきやすいと思います。

また、Tethering 関係はソースが公開されていますので、どこでエラーが発生したかを
呼び出し履歴などを使って辿っていけば原因がわかるかしれません
Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi

[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
一つでも当てはまる方今すぐ体験!
【ヒゲ剃りが面倒】【青く見えるヒゲ】【剃ってもすぐ生える】
大人気!ヒゲ脱毛1,000円体験コース【MEN’S TBC 】
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhbvR
詳しくは△▲URL▲△を今すぐチェック!
------------------------------------------------------[freeml byGMO]--

イチロー

unread,
Jul 13, 2017, 2:01:27 AM7/13/17
to delphi...@freeml.com
細川さん、早速のご回答ありがとうございます。

> 単純に「新規マルチプラットフォームアプリケーション」を作って、
> TTetheringManager / TetheringAppProfile を置いただけのアプリでは問題は起きませ
> んでした。
> (Windows 8.1 / Delphi 10.2 Tokyo + HotFix 2)

単純に置いただけでは問題は出ませんが、TetheringAppProfileのManagerを指定して起動したらエラーが出ました。

…ひょっとして、HotFix2を入れてない(一昨日アップデートサブスクリプションでインストールしただけ)せいという気もし
てきました。
ちょっとこれから外出しますが、帰ってきてからHotFixを入れて試してみます。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
夏着前!薄着になる“今”、脱毛しましょう!!
【エステティックTBC 】選べる脱毛 1,000円(税込)
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhb1v
予約日当日、すぐに脱毛できる♪

hosokawa

unread,
Jul 13, 2017, 2:07:05 AM7/13/17
to delphi...@freeml.com
イチローさん

細川です。

TetheringAppProfile.Manager プロパティに TTetheringManager を指定してみました
が、特にエラーは起きませんでした。

ただ、「Windows ファイアウォール」の通信を許可するかどうかのダイアログが出たの
で、何らかの通信はしようとするのかもしれません。
Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi

[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
☆CM放映で今話題☆ 顔から足先までぜ~~~んぶ全身脱毛!!
スリムアップ全身脱毛33か所 月額9,500円(税抜)の初回分が無料!!!!
予約がとりやすいから夏までに間に合う♪♪
◆無料カウンセリングでご来店の方!今ならハンド脱毛体験無料実施中◆
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhb4J
------------------------------------------------------[freeml byGMO]--

イチロー

unread,
Jul 13, 2017, 4:14:20 AM7/13/17
to delphi...@freeml.com
細川さん

hotfixを入れて試してみましたが、こちらは現象が変わりません…
(hotfixの表示はバージョン情報に出ませんが、
「Embarcadero® Delphi 10.2 バージョン 25.0.26309.314」が最新ですよね?)

最初に「Windowsファイアウォール」の通信許可ダイアログは出て、
Windowsのファイアウォールの設定を見ても許可はされているようですが…。

同じ物をターゲットをiOSに変えて実行した時はエラーは起こらないので、
こちらのWindows環境の問題である可能性は高いですが…。

あと一応、落ちている場所はIdWinsock2.pasの6111行目でbindしようとして落ちているようです。



MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
一つでも当てはまる方今すぐ体験!
【ヒゲ剃りが面倒】【青く見えるヒゲ】【剃ってもすぐ生える】
大人気!ヒゲ脱毛1,000円体験コース【MEN’S TBC 】
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhcKt

hosokawa

unread,
Jul 13, 2017, 4:30:24 AM7/13/17
to delphi...@freeml.com
イチローさん

細川です。

こちらも、同じ

「EmbarcaderoR Delphi 10.2 バージョン 25.0.26309.314」

です。

落ちているところは、普通に WinSock の bind を実行しようとしている
(AppTethering で使われる IdTCPServer で待ち受け用のセッションを開こうとしてい
る)だけなので、恐らくエラー通り、本当に待ち受け用ポート(2020~2040)が別のア
プリなどから使われているのだと思います。


On Thu, 13 Jul 2017 17:14:17 +0900 (JST)
イチロー <delphi...@freeml.com> wrote:

> 細川さん
>
> hotfixを入れて試してみましたが、こちらは現象が変わりません…
> (hotfixの表示はバージョン情報に出ませんが、
> 「EmbarcaderoR Delphi 10.2 バージョン 25.0.26309.314」が最新ですよね?)
>
> 最初に「Windowsファイアウォール」の通信許可ダイアログは出て、
> Windowsのファイアウォールの設定を見ても許可はされているようですが…。
>
> 同じ物をターゲットをiOSに変えて実行した時はエラーは起こらないので、
> こちらのWindows環境の問題である可能性は高いですが…。
>
> あと一応、落ちている場所はIdWinsock2.pasの6111行目でbindしようとして落ちているようです。
>
>
>
> MLホームページ: http://www.freeml.com/delphi-users
>
> ----------------------------------------------------------------------
> 一つでも当てはまる方今すぐ体験!
> 【ヒゲ剃りが面倒】【青く見えるヒゲ】【剃ってもすぐ生える】
> 大人気!ヒゲ脱毛1,000円体験コース【MEN’S TBC 】
> http://ad.freeml.com/cgi-bin/sa.cgi?id=qhcKt
> 詳しくは△▲URL▲△を今すぐチェック!
> ------------------------------------------------------[freeml byGMO]--


Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi

[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
夏着前!薄着になる“今”、脱毛しましょう!!
【エステティックTBC 】選べる脱毛 1,000円(税込)
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhcWE
予約日当日、すぐに脱毛できる♪

イチロー

unread,
Jul 13, 2017, 4:44:17 AM7/13/17
to delphi...@freeml.com
細川さん

> 落ちているところは、普通に WinSock の bind を実行しようとしている
> (AppTethering で使われる IdTCPServer で待ち受け用のセッションを開こうとしてい
> る)だけなので、恐らくエラー通り、本当に待ち受け用ポート(2020~2040)が別のア
> プリなどから使われているのだと思います。

うーん、やっぱりそうですよねえ…。
ただ、リソースモニターで見ていてもこの辺りのポートが使われているように見えないし、
何かデーモンプロセスのようなものが残っていてそいつがポートを占有しているのかも…
と思ってPCの再起動などを行ってみたんですがやはり効果がないんですよねえ…。

ありがちなセキュリティソフトとのバッティングも疑ってみましたがこれをオフにしても
現象は変わりませんし…。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
☆CM放映で今話題☆ 顔から足先までぜ~~~んぶ全身脱毛!!
スリムアップ全身脱毛33か所 月額9,500円(税抜)の初回分が無料!!!!
予約がとりやすいから夏までに間に合う♪♪
◆無料カウンセリングでご来店の方!今ならハンド脱毛体験無料実施中◆
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhdgc
------------------------------------------------------[freeml byGMO]--

hosokawa

unread,
Jul 13, 2017, 5:17:19 AM7/13/17
to delphi...@freeml.com
イチローさん

細川です。

IdStackWindows.pas 892 行目にブレイクポイントを置いて、ステップ実行しつつ各種
値を調べてみて下さい。

それで、Tokyo と Seattle の値で何か違う部分があるか比べてみると良いかもしれま
せん。

ちなみに、ステップ実行すると僕の環境では IPv4 が使われましたが、イチローさんの
環境では IPv6 だったりしないでしょうか。
Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi

[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
一つでも当てはまる方今すぐ体験!
【ヒゲ剃りが面倒】【青く見えるヒゲ】【剃ってもすぐ生える】
大人気!ヒゲ脱毛1,000円体験コース【MEN’S TBC 】
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhdwA

Fukushi

unread,
Jul 13, 2017, 5:21:42 AM7/13/17
to delphi...@freeml.com
イチローさん、細川さん、こんにちは。福士です。横から失礼します。

> ただ、リソースモニターで見ていてもこの辺りのポートが使われているように見えないし、

管理者権限をつけたコマンドプロンプトから

netstat -anb

として当該ポートをどのプロセスが開いているのかを調べてみては
いかがでしょう?

---
東洋テクニカルシステム株式会社 システム開発部 福士 光
Hikaru Fukushi (Toyo Technical System Inc.)
mailto:fuk...@tts-inc.co.jp


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
夏着前!薄着になる“今”、脱毛しましょう!!
【エステティックTBC 】選べる脱毛 1,000円(税込)
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhd5H

イチロー

unread,
Jul 13, 2017, 5:57:08 AM7/13/17
to delphi...@freeml.com
福士さん

コメントありがとうございます。

netstatで見ると、UDPの2020はbds.exe、つまりDelphi自体が使っています。

ただこれ、tokyoではここを使ってるんですが、Seattleでは使ってないみたいなんですよね。
(Seattleだけ起動した時は出てこない)。

この辺りに問題がありそう…というか、Delphi自身に引っかかってるってことでしょうか?


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
☆CM放映で今話題☆ 顔から足先までぜ~~~んぶ全身脱毛!!
スリムアップ全身脱毛33か所 月額9,500円(税抜)の初回分が無料!!!!
予約がとりやすいから夏までに間に合う♪♪
◆無料カウンセリングでご来店の方!今ならハンド脱毛体験無料実施中◆
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhdTi
------------------------------------------------------[freeml byGMO]--

イチロー

unread,
Jul 13, 2017, 6:02:21 AM7/13/17
to delphi...@freeml.com
細川さん

福士さんへのコメントにも書きましたが、どうも違いは
「TokyoではUDPのポート2020をDelphi自身が使ってる」という辺りにありそうです。
実際、TokyoとSeattleを同時に起動した場合、
Seattleの方でもソケットエラーが出たのでやはりここで引っかかっている可能性は高いです。

ただ、細川さんの環境では引っかからず、私の環境で引っかかるというのは腑に落ちない部分ですが…。

> IdStackWindows.pas 892 行目にブレイクポイントを置いて、ステップ実行しつつ各種
> 値を調べてみて下さい。
>
> それで、Tokyo と Seattle の値で何か違う部分があるか比べてみると良いかもしれま
> せん。
>
> ちなみに、ステップ実行すると僕の環境では IPv4 が使われましたが、イチローさんの
> 環境では IPv6 だったりしないでしょうか。

なお、ステップ実行してみましたが、bindまでの動作は同様でした(Seattle単独起動ならbindもエラーを起こさずに通る)。
どちらもIPv4の方が使われています。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
一つでも当てはまる方今すぐ体験!
【ヒゲ剃りが面倒】【青く見えるヒゲ】【剃ってもすぐ生える】
大人気!ヒゲ脱毛1,000円体験コース【MEN’S TBC 】
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhdWt

PSLaboD

unread,
Jul 13, 2017, 6:22:46 AM7/13/17
to delphi...@freeml.com
イチローさん

pslabod と申します。この ML では初めて post します。


私の手元の RAD Studio 10.2 Tokyo で下記2つのことをためしてみました。

1. IDE だけ起動。
2. TetheringManager と TetheringAppProfile を配置しただけのアプリをビルドして実行。

すると 1. の時点では IDE は 2020, 2040 を掴んでいます。
2. の時点では、IDEの掴むポートはそのままで、ビルドしたアプリが 2021, 2041 を掴んでいます。

ですので、2020, 2040 が割り当て済みの場合は、別の空きポートを探すという動作になりました。

埋め込み画像 1


以上、なにかのご参考になれば。


2017年7月13日 18:57 イチロー <delphi...@freeml.com>:

hosokawa

unread,
Jul 13, 2017, 6:37:14 AM7/13/17
to delphi...@freeml.com
イチローさん

こんばんは
細川です。

こちらでは IDE を立ち上げたただけでは 2020 番ポートを押さえたりはしませんね…
ただ僕の IDE は様々なプラグインを入れているので、動作が異なっている可能性はあ
ります(PSLaboD さんの所でも 2020 を開いているようですので)
(例えば IDEFixPack や CnPack 等が導入されています)

ただ PSLaboD さんもおっしゃっている様に 2020~2040 の間で空きポートを探す仕様
になっています。
その仕組みが働いて居ないのが不思議ですね。
Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi

[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
夏着前!薄着になる“今”、脱毛しましょう!!
【エステティックTBC 】選べる脱毛 1,000円(税込)
http://ad.freeml.com/cgi-bin/sa.cgi?id=qheqQ
予約日当日、すぐに脱毛できる♪

イチロー

unread,
Jul 14, 2017, 1:33:50 AM7/14/17
to delphi...@freeml.com
細川さん
PSLaboDさん

まとめレスで失礼します。

ソケットエラーが出た後にエラーを無視して続行したところ、
きちんとリトライで自分のアプリケーションが2021を掴みに行っていました。
大変お騒がせしました。

でもこれ、毎回IDEでのデバッグ開始時にエラーが出るってことですよねえ…。
正直なんか気持ち悪いというか、どうにかならないものかと。


起動したことでまた別の問題が起きている感じがあるのですが、
これはまだ問題点の切り分けができていないので別途質問させていただくかも知れません。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
☆CM放映で今話題☆ 顔から足先までぜ~~~んぶ全身脱毛!!
スリムアップ全身脱毛33か所 月額9,500円(税抜)の初回分が無料!!!!
予約がとりやすいから夏までに間に合う♪♪
◆無料カウンセリングでご来店の方!今ならハンド脱毛体験無料実施中◆
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhlQM
------------------------------------------------------[freeml byGMO]--

hosokawa

unread,
Jul 14, 2017, 2:44:15 AM7/14/17
to delphi...@freeml.com
イチローさん

細川です。

IDE が 2020 を使ってしまうのは、もしかすると FireUI App Preview で
AppTethering を使っているからかもしれません。

FireUI App Preview は、Berlin から入ったので、もしかすると Berlin でも起こるか
も知れません。
Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi

[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
一つでも当てはまる方今すぐ体験!
【ヒゲ剃りが面倒】【青く見えるヒゲ】【剃ってもすぐ生える】
大人気!ヒゲ脱毛1,000円体験コース【MEN’S TBC 】
http://ad.freeml.com/cgi-bin/sa.cgi?id=qhm6Q
Reply all
Reply to author
Forward
0 new messages