tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルDirectplayデフォルトポートの2302を変更する方法
記事No13381
投稿日: 2009/01/28(Wed) 18:30
投稿者はるちゃん
Directplayを使うソフトを組んでいます
デフォルトポートの2302を変更する方法があれば知りたいのですがよろしくお願いしますイk以下は、サーバーの参考コーデイングです

  Dim objDPAH       As DirectPlay8Address     ' ホストのアドレス情報
  Dim objDPDI       As DirectPlay8Address     ' サービスプロバイダの情報
  Dim udtPlayerInfo As DPN_PLAYER_INFO        ' ユーザー情報
  Dim udtAppDesc    As DPN_APPLICATION_DESC   ' アプリケーション情報        
If InStr(gobjDPC.GetServiceProvider(intCounter).Name, "TCP") Then
    ' アドレス(URL)情報用DirectPlayAddressオブジェクトを作成
    Set objDPAH = gobjDX.DirectPlayAddressCreate
    With objDPAH
        .SetSP gobjDPC.GetServiceProvider(intCounter).Guid
        .AddComponentLong DPN_KEY_PORT, glngPortNo
        .AddComponentString DPN_KEY_HOSTNAME, 1025 '<-相手のポートを指定する

    End With
    ' サービスプロバイダ情報用DirectPlayAddressオブジェクトを作成
    Set objDPDI = gobjDX.DirectPlayAddressCreate
    With objDPDI
         gstrTcpGuid = gobjDPC.GetServiceProvider(intCounter).Guid
        .SetSP gobjDPC.GetServiceProvider(intCounter).Guid
    End With
end if

[ツリー表示へ]
タイトルRe: Directplayデフォルトポートの2302を変更する方法
記事No13384
投稿日: 2009/01/29(Thu) 08:35
投稿者オショウ
>         .AddComponentLong DPN_KEY_PORT, glngPortNo

  この設定が、自分のポートでは?

  http://msdn.microsoft.com/ja-jp/library/cc351288.aspx

  参考までに。

以上。
  

[ツリー表示へ]
タイトルRe^2: Directplayデフォルトポートの2302を変更する方法
記事No13385
投稿日: 2009/01/29(Thu) 10:13
投稿者はるちゃん
> >         .AddComponentLong DPN_KEY_PORT, glngPortNo
>
>   この設定が、自分のポートでは?
>
>   http://msdn.microsoft.com/ja-jp/library/cc351288.aspx
>
>   参考までに。
>
> 以上。
すみません、間違えました、ご指摘の箇所はHOSTのIPアドレスです
書き直します
  
Dim objDPAH       As DirectPlay8Address     ' ホストのアドレス情報
Dim objDPDI       As DirectPlay8Address     ' サービスプロバイダの情報
Dim udtPlayerInfo As DPN_PLAYER_INFO        ' ユーザー情報
Dim udtAppDesc    As DPN_APPLICATION_DESC   ' アプリケーション情報        
If InStr(gobjDPC.GetServiceProvider(intCounter).Name, "TCP") Then
    ' アドレス(URL)情報用DirectPlayAddressオブジェクトを作成
    Set objDPAH = gobjDX.DirectPlayAddressCreate
    With objDPAH
        .SetSP gobjDPC.GetServiceProvider(intCounter).Guid
        .AddComponentLong DPN_KEY_PORT, 1025 '<-相手のポートを指定する
        .AddComponentString DPN_KEY_HOSTNAME, "192.168.0.3" '<-HOSTのIPアドレスを指定する
    End With
    ' サービスプロバイダ情報用DirectPlayAddressオブジェクトを作成
    Set objDPDI = gobjDX.DirectPlayAddressCreate
    With objDPDI
         gstrTcpGuid = gobjDPC.GetServiceProvider(intCounter).Guid
        .SetSP gobjDPC.GetServiceProvider(intCounter).Guid
    End With
end if
デフォルトで使用されてしまう、”2302”を変更する方法を
探しているのですが、レジストリ
HKEY_CURRENT_USER\Software\Microsoft\DIRECTPLAY\Parsersに
DWORDで、"MaxUserPort"と"MinUserPort"で"2302"以外を指定すると良いようなことを
みかけたので、作成して、そのとおりにしてみましたが、変更できませんでした

[ツリー表示へ]
タイトルRe: Directplayデフォルトポートの2302を変更する方法
記事No13386
投稿日: 2009/01/29(Thu) 19:52
投稿者K.J.K.
> デフォルトで使用されてしまう、”2302”を変更する方法を
> 探しているのですが、レジストリ
> HKEY_CURRENT_USER\Software\Microsoft\DIRECTPLAY\Parsersに
> DWORDで、"MaxUserPort"と"MinUserPort"で"2302"以外を指定すると良いようなことを
> みかけたので、作成して、そのとおりにしてみましたが、変更できませんでした

それでも、2302〜2400の範囲でしか設定できなかったような。
その範囲に定められているのはDirectPlay8の仕様なのですから、
それ以外のポートを使用したい場合はDirectPlay8以外を使うのが無難な
ところかと。

[ツリー表示へ]
タイトルRe^2: Directplayデフォルトポートの2302を変更する方法
記事No13398
投稿日: 2009/02/02(Mon) 17:10
投稿者はるちゃん
情報ありがとうございます
DirectPlay9を使用していますが結果は同じでした

[ツリー表示へ]
タイトルRe: Directplayデフォルトポートの2302を変更する方法
記事No13400
投稿日: 2009/02/02(Mon) 19:13
投稿者K.J.K.
> DirectPlay9を使用していますが結果は同じでした

オブジェクトはDirectX8 for VBのものですよね。
で、DirectX8 でなければ大丈夫と言う意味には捉えないでください。
そうしたいのであれば、DirectX ではなく、自力で socket を直接扱う
しかないのでは、ということです。

ただ、2302〜2400であっても、そう不都合はないとは思いますが。

[ツリー表示へ]
タイトルRe^2: Directplayデフォルトポートの2302を変更する方法
記事No13411
投稿日: 2009/02/04(Wed) 17:58
投稿者はるちゃん
>自力で socket を直接扱うしかないのでは、ということです。
わかりましたありがとうございました

[ツリー表示へ]