VB6.0でFTPでのファイルの送受信(下記(1))をしようと考えております。
尚、コンポーネントは、インターネットトランスファコントロール(Inet)を使用しております。
(1)"リモートサーバーに対して、複数件のファイルを送信し、無事転送が完了したら(リモートサーバー
の指定フォルダに送信された複数件のファイルがあるのを確認後)、
 クライアント側のファイル(リモートサーバーに送信が済んだファイル)を消す"
という処理を考えております。

ここで、質問なのですが
(1)vbを使ったFTP転送で、複数件のファイルを一括転送(mputコマンドの使用)は、可能か?
 (2)もし、(1)が不可能の場合、
   "送信するファイルをputコマンドで1つ送って、リモート側にそのファイルがあるのを
   getコマンドで確認して、もしgetであれば、クライアント側のそのファイルを消す"
という処理を送信するファイル数分繰り返すことになるんですか?
   
   1つのファイルの場合に、Inet1_State_Changeイベントで、ループさせstate = 12 の時(
リモート側に正常に送信されたと考えて)、クライアント側のファイルを消していいのでしょうか?
   VBのヘルプを見ると、state = 12 は、get処理で使用するというようなことを書いてありますが。
   
以上 

このQ&Aに関連する最新のQ&A

A 回答 (1件)

フリーソフトのFFFTPを使用したことがありますか?


あれを見てみてはいかがでしょうか?
ソフトが送っているコマンドが見ることができます。

(1)一括は無理です。1ファイルずつの転送になります。
(2)そのとおりです、消して送信の処理が望ましいですが、消さないでも送信することができたと思います。

ちなみにFTPソフトを作成するのであればWinSockを使用したほうがよいと思います。未検証ですが、権限など更新(755みたいに設定すること)の情報はInetでは無理のような気が・・・
未検証なのでなんとも言えませんが、ぼくもFTPソフトを個人で作成中ですが、WinSockのコマンドを使用しています。
    • good
    • 0

このQ&Aに関連する人気のQ&A

FTP フリーソフト」に関するQ&A: ftp受信確認

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBでフォルダ単位のFTP

VBでフォルダ単位のFTP(GET,PUT)はできるのでしょうか?
また、そのサンプルファイルがありましたら、教えて下さい。
ファイル単位での、サンプルファイルはあったのですが、
それを、フォルダ単位に改造する知識がまだないのです。
よろしくお願い致します。

Aベストアンサー

こんにちは 田吾作7@通信苦手です。。。

二つ例を挙げておきますね。
kernel32.dllを使用した場合
http://www.mitene.or.jp/~sugisita/family/papa/vb/
上記URLのコンポーネントの中のFTPクラスにサンプルがあります。

Wininet.dllを使用した場合
http://www.int21.co.jp/pcdn/vb/onepoint/knvol0812.html

ちなみにフォルダを丸ごとのアップというのは無理だったような・・・
何かFTPソフトを使用してますよね?
ぼくもの使用してるFTPソフトは、処理状況をステータスバーで表示してあるので、処理内容が何となく想像がつきます。
ローカルディスクと同じ構造でアップロードするというボタンがあるのですが、やってる事は、ファイルを1つずつアップして、フォルダがあれば作成して、その中のファイルをアップして・・・というようなことを最も下位層のフォルダ内のファイルまでのループ(再帰法?)をしてるようです。

QFTP対応のアプリケーション

INETコントロールを使って、サーバとファイルの送受信をするアプリを作りたいのですが、基本的なところでつまづいています。

サンプルプログラムを見つけたので試してみているのですが。
以下。

Private Sub cmdDownload_Click()
Dim GetBuf() As Byte
Dim FileNum As Integer

GetBuf() = Inet.OpenURL(txtURL.Text, icByteArray)
FileNum = FreeFile
Open txtSavePath.Text For Binary Access Write As FileNum
Put #FileNum, , GetBuf()
Close #FileNum
MsgBox "ダウンロード終了"
End Sub

ここで、txtURL.Text に何を記述したらいいのか、はっきり分かりません。
サーバー名にファイルのあるディレクトリを付けた形、
ftp://servername/home/tmp/test.txt
サーバーのIPアドレスにファイルのあるディレクトリを付けた形、
ftp://172.20.1.17/home/tmp/test.txt
を試してみたのですが、うまくダウンロードできません。

目的のプログラムは Executeメソッドを使ってファイルの送受信をしたいのですが、どちらにしてもURLの記述ができないとダメなのですよね?
どうぞ、よろしくお願いいたします。

INETコントロールを使って、サーバとファイルの送受信をするアプリを作りたいのですが、基本的なところでつまづいています。

サンプルプログラムを見つけたので試してみているのですが。
以下。

Private Sub cmdDownload_Click()
Dim GetBuf() As Byte
Dim FileNum As Integer

GetBuf() = Inet.OpenURL(txtURL.Text, icByteArray)
FileNum = FreeFile
Open txtSavePath.Text For Binary Access Write As FileNum
Put #FileNum, , GetBuf()
Close #FileNum
MsgBo...続きを読む

Aベストアンサー

ご指名ありがとうございます。(←変な飲み屋みたい)

こんな感じ?
  With Inet1
    .URL = "ftp://ftp.hoge.com"
    .UserName = "TAGOSAKU7"
    .Password = "内緒"
    .Execute , " DIR"
  End With

UserNameとPasswordは、ExecuteかOpenURLを発行すると同時に送られているようです。
UserNameが空状態であれば "anonymous"を送っているようです。

でも、
>"ftp://user:pwd@URL"
使用方法によってはいいと思いますよ。
画面にさえ表示しなければ・・・


それと、、、
受けのサーバのポートは特に意識する必要はないと思います。
WinSockでもないので、ソケットのことを考える必要もないし、手順を間違わなければサーバに設定を施さなくてもできると思います。

QVB6.0-整数と余りを求める

表題の通り、整数と余りを求める関数を教えてほしいです:例:100/60=1余り40
整数:1
余り:40
よろしくお願いいたします。

Aベストアンサー

Dim A,B,C,D as integer
A=100
B=60
C=Int(A/B) <---答は1
D=A mod B

●IntはAをBで割った時の整数部分を求める関数ですが、答が負の場合は
注意が必要です。 例 Int(-100/40)=-2
これを回避する場合 Fixがいいです

●mod は A を B で割った時の余りを求める関数

QForm_Load と Form_Activate のタイミング

あるデータ入力アプリを作っています。
親フォーム(Form0)で番号を決め、子フォーム(Form1,Form2,Form3,Form4) でデータ入力し、それぞれの子フォームを出るとき(Unload Me) に、変数にsaveしています。それを親フォーム(Form0)で登録を選択したとき、入力データをチェックしてDBに格納しています。
すでにDB格納済のデータの場合、親フォームでDBから変数に読み込み、子フォームのForm_Loadで展開しています。
そこで困っているのは、親と子のフォームを行き来するときにデータの表示で前のが残っていたり、消えてしまったりします。
Form_LoadとForm_Activateを通過するタイミングが、ちゃんと理解できていないためコードの記述位置が不適切なのだと思います。

Form_Load と Form_Activate の実行タイミングについて、お教えください。

Aベストアンサー

Form_Loadは、フォームがロードされたときです。
ロードされる条件は、
1.フォームがスタートアップに指定されているとき、アプリが実行された直後。
2.Show メソッドが呼ばれたとき
3.Loadメソッドが呼ばれたとき
4.フォームに貼り付けられたコントロールのプロパティが参照されたとき
5.フォームに貼り付けられたコントロールのメソッドが呼ばれたとき
です。

ただし、一度ロードされると、Unloadされるまで呼ばれません。


Form_Activateは、フォームがアクティブになったとき、つまり、キャプション(ウィンドウのタイトルバー)の色が変わったときです。

QVisualBasic6.0のFormat関数でmSecを表示したい

VisualBasic6.0のFormat関数で時刻をあらわす方法でFormat(CStr(Now),"h:mm:ss")としていますが、mSecをあらわすときはどうしたらいいのでしょうか。どなたか教えてください。
VB.NETのffを使ってみましたがだめでした。

Aベストアンサー

Now関数では ミリセカンドの精度は持っていないようです
dim d as Double
d = now
' 日付部分を削除
d = d - Fix(d)
' 秒単位に変換
d = d * 24. * 60 *60
' 秒部分を削除
d = d - Fix(d)
といった具合にすれば 秒未満の数値が取り出せそうですがここまでの分解能が無いため浮動小数点の誤差程度の値しか求まりません

ミリ秒を取得するのであれば WinAPIのGetSystemTimeなどを使ったほうがいいでしょう

Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
といった具合で宣言して

dim st as STSEMTIME
GetSystemTime st
debug.print st.wMilliseconds
といった具合で取り出せますよ

Now関数では ミリセカンドの精度は持っていないようです
dim d as Double
d = now
' 日付部分を削除
d = d - Fix(d)
' 秒単位に変換
d = d * 24. * 60 *60
' 秒部分を削除
d = d - Fix(d)
といった具合にすれば 秒未満の数値が取り出せそうですがここまでの分解能が無いため浮動小数点の誤差程度の値しか求まりません

ミリ秒を取得するのであれば WinAPIのGetSystemTimeなどを使ったほうがいいでしょう

Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Private T...続きを読む

Qネットワーク上のファイルのコピー

ネットワーク上のファイルをローカルにコピーする為に
FileCopy("\\cp1\D$\aaa\a.txt", "d:\b.txt")
を実行したところ
ファイル名または番号が不正です(エラー52)
が出てしまいます
ネットワーク上のPCとユーザとパスワードが違うのでログインでエラーになっているのですが
ネットワーク上のPCにユーザを登録するのではなく
ユーザ名とパスワードを指定してログインしてから
ファイルをコピーする方法はありますでしょうか?

Aベストアンサー

http://www.vbvbvb.com/jp/gtips/0851/gWNetAddConnection2NoDriveLetter.html

QFTPサーバからファイルをダウンロードするには?

WINDOWS2000、VB6.0、SP5で開発しています。

FTPサーバからファイルをダウンロードするやり方がわからなくて、困っています。

例えば、コマンドボタンを押した時に、指定したファイルをダウンロードしたいのです。

色々と調べてみたのところ、Winsockコントロールを使うとできるかもしれない、
というところまでは分かったのですが、そこからさっぱりです。
今日一日、調べていますがわかりません。
どうか、先輩方のアドバイス、よろしくお願いしますm(_ _)m

Aベストアンサー

こんにちは。


ルータとか使ってますか?
どういう環境でどの程度の事がしたいのか分らないので、
以下のURLにあるサンプルを見てみてください。

■WININET
 FTPクライアント (WININET使用)
 http://www.mitene.or.jp/~sugisita/vb6_net.html
トップページはこちら。
■PAPA'n VB (ぱぱんぶぃびぃ) - HOME
 http://www.mitene.or.jp/~sugisita/

■その他
 http://oshiete1.goo.ne.jp/kotaeru.php3?q=229365


それでは。

QVB6 配列を初期化したい

VB6でループさせて配列に値を入れて、計算させて最終的に求めたい値をRとします。そのときループで繰り返すためか同じ配列に値を入れてどんどん値がでかくなりRの値がおかしくなってしまいます;
おそらく問題は一回前に入れた配列がそのままのこってしまってるからなのだと思うのですが;
配列の中の値をクリアする方法はないものでしょうか?
一応、配列=0として初期化しようとしても値は変わらず前のが残ったままになってしまっています;
どなたかわかる方いらっしゃいましたらご回答宜しくお願いします

その他何かいい方法があればそれも教えていただけたらと思います

Aベストアンサー

Eraceステートメントを使用

  Dim a() as Long
  Dim s(100) as String
  Dim x() as Long

  Erase a     ’要素が0になる
  Erase s     ’要素が""になる

  Redim x(100) as Long

  Erase x      ’メモリを解放

注)VB2005の場合は動作が異なるので注意して下さい。

QVBアプリケーションで終了コードを指定する方法

VB6でアプリケーションを作成しますが、
親プロセスに終了コードを返して、Errorの有無を
認識させたいと思います。
VB6で可能でしょうか??
可能なら、どのような方法があるでしょう??
よろしくお願い申します。

Aベストアンサー

VB6の機能だけでは無理なように思います

WinAPIのExitProcessを使えば出来そうです
この場合 Sub Main経由でやったほうがいいかもしれません

たとえば 標準モジュールに
Public Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)

Public bFlag As Boolean

Sub Main()
  Form1.Show vbModal
  If bFlag Then
    ExitProcess 1
  End If
  ExitProcess 2
End Sub
といった具合のコードが記述してあれば bFlagがTrueならば 1を返し
それ以外なら 2を返すといったことが可能です

バッチファイルから呼び出すならば
Text.exe
if errorlevel == 3 goto L3
if errorlevel == 2 goto L2
echo "1"
goto exit
:L2
echo "2"
goto exit
:L3
echo "3"
:exit
といったバッチで判定できるでしょう

VB6の機能だけでは無理なように思います

WinAPIのExitProcessを使えば出来そうです
この場合 Sub Main経由でやったほうがいいかもしれません

たとえば 標準モジュールに
Public Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)

Public bFlag As Boolean

Sub Main()
  Form1.Show vbModal
  If bFlag Then
    ExitProcess 1
  End If
  ExitProcess 2
End Sub
といった具合のコードが記述してあれば bFlagがTrueならば 1を返し
それ以外なら 2を返すといっ...続きを読む

Qexeファイルのセキュリティ。

社内用のメンテナンスプログラムを制作したのですが、同じプログラムで他社の製品にも使えてしまいます。たいした大きさではないので、フロッピーで十分なんですが社外に流失してしまうとこまってしまいます。
IPアドレスで確認すればいいのですが、登録していないようなものはどうしたらよいのでしょうか?
どなたか、教えていただけませんか?

Aベストアンサー

通信認証のサンプルを作成しました。
(正確に言うと、以前に作成したものがあって、それを抜粋しました)

プロジェクトは二つ必要で、サーバーとクライアントに分かれています。
それぞれにプロジェクトを作成して、EXEを作成してください。
基本はサーバーのEXEが立ち上がった状態で、クライアントのEXEを起動してください。
この書き込みの下の方に「共通の標準モジュール」を記してますが、[INIT_PORT][SERVER_NAME]の各定数があります。
こちらは環境に合わせて変更をしてください。
もし、一台のマシンで実験をするのであればSERVER_NAMEをご自分のマシン名に変更をしてください。

プログラムが正常に動くと、サーバー、クライントが交互に通信状況をメッセージボックスで知らせます。
これはあくまでサンプルなのでそのようにしてますが、サーバー側にはメッセージボックスの機能を使用しないでください。メッセージボックスが表示されている間は、他のユーザーとの通信ができなくなってしまいます。
(VBでそれを回避する方法があるのですが、動作が不安定になるために書きません)

このサンプルでは、互いに文字列を送信しています。
実践では、その文字列をパスワード認証に使用してはいかがでしょうか?



必要なもの

Project1.vbp(サーバー用)
フォーム
Winsock1(インデックスなし)
Winsock2(インデックスあり)

Project2.vbp(クライアント用)
フォーム
Winsock1(インデックスなし)

Winsockはメニューバーより
[プロジェクト]
[コンポーネント]
[Microsoft Winsock Control 6.0(かな?)]
を選択したらツールボックスにWinsockコントロールが現れます。
それをサーバー側に二つ、クライアント側に一つ、各フォームに貼り付けます。
サーバー側のWinsock2にはIndexプロパティに'0'ゼロをセットしてください。
その他のWinsockには値を入力しないでください。

あとは下のソースを貼り付けてください。
-----サーバーのフォーム内のソース(ここから)---------
Option Explicit

Private Sub Form_Load()
  Me.Caption = "SERVER"

  'ポートの初期化を行い、受信待ち状態にする
  On Error GoTo PGMERR
  
  With Me.Winsock1
    .LocalPort = INIT_PORT
    .Listen
  End With
  
  Exit Sub
  
PGMERR:
  Call MsgBox("通信ポートに以上が見られました、終了いたします。", vbSystemModal, Me.Caption)
  End
End Sub

'フォームが閉じる前に、Winsockを全て閉じる
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  Dim wkSock As Winsock
  
  With Me
    .Winsock1.Close
    For Each wkSock In .Winsock2
      wkSock.Close
    Next wkSock
  End With
End Sub

'特定のクライアントのソケットを閉じたとき
Private Sub Winsock2_Close(Index As Integer)
  With Me
    .Winsock2(Index).Close
    Unload .Winsock2(Index)
  End With
End Sub

'メッセージデータの受信
Private Sub Winsock2_DataArrival(Index As Integer, ByVal bytesTotal As Long)
  Dim strRecvData As String    '送られてきたデータ
  Dim lngRecvCnt As Long     '送られてきたデータライン数
  Dim valRecvAry As Variant   '送られてきたデータをライン数のに分解し配列にして記憶
  
  Dim wkVal    As Variant   '受信したメッセージ1文を、IDとメッセージに分解して配列で記憶
  Dim wkSType   As SOCKMSG_ID  '分解した1文のID
  Dim wkStr    As String    '分解した1文のメッセージ
  
  Dim i      As Long     'ループカウンタ
  
  Dim wkMsg    As String    '送信するメッセージ
  
  With Me
  
    'メッセージを受け取る
    .Winsock2(Index).GetData strRecvData
    
    '受信メッセージを、メッセージ分の配列にする
    valRecvAry = Split(strRecvData, vbCrLf)
    
    'メッセージ数を取得
    lngRecvCnt = UBound(valRecvAry)
    
    '受信メッセージの分だけ、一文ずつ処理を行う
    For i = 0 To lngRecvCnt - 1
    
      '一文をIDとメッセージに分解
      wkVal = Split(valRecvAry(i), vbNullChar)
      wkSType = wkVal(0)
      wkStr = wkVal(1)
      
      Select Case wkSType
        Case SOCKMSG_ID.ID1
          wkMsg = "山川豊"
          Call MsgBox("ID1で[" & wkStr & "]を受信しました" & vbNewLine & vbNewLine _
            & "ID1で[" & wkMsg & "]を送信します", vbSystemModal, Me.Caption)
          Call SendMsg(.Winsock2(Index), ID1, wkMsg)
          
        Case SOCKMSG_ID.ID2
          wkMsg = "起動してもいいよ"
          Call MsgBox("ID2で[" & wkStr & "]を受信しました" & vbNewLine & vbNewLine _
            & "ID2で[" & wkMsg & "]を送信します", vbSystemModal, Me.Caption)
          Call SendMsg(.Winsock2(Index), ID2, wkMsg)
      
      End Select
    Next i
  End With
PGMEND:
End Sub

'接続要求がきたら、新たなWinsockを用意する
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  Dim lngNewIndex As Integer
  
  lngNewIndex = 0
  On Error Resume Next
  
  With Me
    '新たな受信装置を1つ追加する
    Do
      Err.Clear
      lngNewIndex = lngNewIndex + 1
      Load .Winsock2(lngNewIndex)
    Loop Until Err.Number = 0&
    On Error GoTo 0
    
    .Winsock2(lngNewIndex).Accept requestID
  End With
End Sub
-----サーバーのフォーム内のソース(ここまで)---------

-----クライアントのフォーム内のソース(ここから)-------
Option Explicit

'フォームロード時に接続を試みる
Private Sub Form_Load()
  Me.Caption = "CLIANT"

  With Me.Winsock1
    .RemoteHost = SERVER_NAME
    .RemotePort = INIT_PORT
    .LocalPort = 0
    .Connect
  End With
End Sub

'サーバーが落ちた
Private Sub Winsock1_Close()
  Call MsgBox("サーバーが落ちたー", vbSystemModal, Me.Caption)
  Unload Me
End Sub

'サーバーと接続できた
Private Sub Winsock1_Connect()
  Dim wkMsg  As String
  
  wkMsg = "岸部四郎"
  
  Call MsgBox("接続できた" & vbNewLine & vbNewLine _
      & "ID1で[" & wkMsg & "]を送信します", vbSystemModal, Me.Caption)
  Call SendMsg(Me.Winsock1, ID1, wkMsg)
End Sub

'サーバーと接続できなかった
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
  Call MsgBox("接続できなかった", vbSystemModal, Me.Caption)
  Unload Me
End Sub

'メッセージデータの受信
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  Dim strRecvData As String    '送られてきたデータ
  Dim lngRecvCnt As Long     '送られてきたデータライン数
  Dim valRecvAry As Variant   '送られてきたデータをライン数のに分解し配列にして記憶
  
  Dim wkVal    As Variant   '受信したメッセージ1文を、IDとメッセージに分解して配列で記憶
  Dim wkSType   As SOCKMSG_ID  '分解した1文のID
  Dim wkStr    As String    '分解した1文のメッセージ
  
  Dim i      As Long     'ループカウンタ
  
  Dim wkMsg    As String    '送信するメッセージ
  
  With Me
  
    'メッセージを受け取る
    .Winsock1.GetData strRecvData
    
    '受信メッセージを、メッセージ分の配列にする
    valRecvAry = Split(strRecvData, vbCrLf)
    
    'メッセージ数を取得
    lngRecvCnt = UBound(valRecvAry)
    
    '受信メッセージの分だけ、一文ずつ処理を行う
    For i = 0 To lngRecvCnt - 1
    
      '一文をIDとメッセージに分解
      wkVal = Split(valRecvAry(i), vbNullChar)
      wkSType = wkVal(0)
      wkStr = wkVal(1)
      
      Select Case wkSType
        Case SOCKMSG_ID.ID1
          wkMsg = "鳥羽一郎"
          Call MsgBox("ID1で[" & wkStr & "]を受信しました" & vbNewLine & vbNewLine _
            & "ID2で[" & wkMsg & "]を送信します", vbSystemModal, Me.Caption)
          Call SendMsg(.Winsock1, ID2, wkMsg)
          
        Case SOCKMSG_ID.ID2
          Call MsgBox("ID2で[" & wkStr & "]を受信しました" & vbNewLine & vbNewLine _
            & "通信を終了します", vbSystemModal, Me.Caption)
          
          '''''ここに通信が正常にできたことを示すフラグを立てておく
          Unload Me
      End Select
    Next i
  End With
PGMEND:
End Sub
-----クライアントのフォーム内のソース(ここまで)-------

サーバー・クライアントのそれぞれに共通の標準モジュールとして、以下のソースを追加してください。
-----共通の標準モジュール(ここから)-------
Option Explicit

Public Enum SOCKMSG_ID
  ID1 = 1
  ID2 = 2
  ID3 = 3
End Enum
Public Const INIT_PORT As Long = 8000 '←このPORTは使用される確立が高いので、適当な値に変更したほうがいいかも?
Public Const SERVER_NAME As String = "PC_MACHINE_NAME" '←サーバー用のEXEのをおくマシン名

Public Sub SendMsg(inSock As Winsock, inSendType As SOCKMSG_ID, inSendMsg As String)
  Dim wkStr  As String
  
  With inSock
    '通信が可能なときに通信する
    If (.State = (sckConnected)) Then
      '通信の書式は
      ' 1.通信を送るときのID(SOCKMSG_IDを自分で作成、オリジナルの番号を振る)
      ' 2.vbNullChar(IDとメッセージとの区切り文字)
      ' 3.メッセージ(任意の文字列)
      ' 4.vbCrLf(文末を示す)
      wkStr = inSendType & vbNullChar & inSendMsg & vbCrLf
      
      'メッセージを送る
      .SendData wkStr
    End If
  End With
End Sub
-----共通の標準モジュール(ここまで)-------

通信認証のサンプルを作成しました。
(正確に言うと、以前に作成したものがあって、それを抜粋しました)

プロジェクトは二つ必要で、サーバーとクライアントに分かれています。
それぞれにプロジェクトを作成して、EXEを作成してください。
基本はサーバーのEXEが立ち上がった状態で、クライアントのEXEを起動してください。
この書き込みの下の方に「共通の標準モジュール」を記してますが、[INIT_PORT][SERVER_NAME]の各定数があります。
こちらは環境に合わせて変更をしてください。
もし、一台のマ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング