- 題名: AcceptSocket
- 日時: 2005/09/15 17:19:32
- ID: 12802
- この記事の返信元:
- (なし)
- この記事への返信:
- [12814] Re[1]: AcceptSocket2005/09/16 8:02:52
- ツリーを表示
■No12802に返信(ともさんの記事) > FTPでファイルのアップロードを作成しましたが、 > 半角英数字の場合正常なのですが、 > ファイル名が漢字の場合、AcceptSocketで固まってしまいます。 > 漢字は使用できないのでしょうか? FTP の仕様自体に漢字に対する特別の配慮はないので、サーバに依存するんだ と思います。 TcpListener.AcceptSocket メソッドの呼び出しが制御を戻さないというより、 FTP の STOR コマンドが失敗しているため、サーバがデータ接続の確立を始め ないのですよね。 STOR コマンドの応答には、何が返っていますか?
分類:[.NET]
こんにちは。
FTPでファイルのアップロードを作成しましたが、
半角英数字の場合正常なのですが、
ファイル名が漢字の場合、AcceptSocketで固まってしまいます。
漢字は使用できないのでしょうか?
知っている方がいらっしゃいましたら教えてください。
お願いします。
プログラム一部
Dim ipa As IPAddress
Dim lscu As Sockets.Socket
ipa = Dns.Resolve(Dns.GetHostName()).AddressList(0)
Dim ipendpu As New IPEndPoint(ipa, 11000)
Dim tlu As New Sockets.TcpListener(ipendpu)
Dim param As String
'FTPコマンド
Dim cmd As String = data.Split(" "c)(0)
'ファイル名
Dim fn As String = data.Split(" "c)(1)
'ファイルアップロード用
Dim br As New IO.BinaryReader( _
New IO.FileStream(fn,IO.FileMode.Open,IO.FileAccess.Read))
Try
'受信接続要求の待機を開始
tlu.Start()
'IPアドレスとポート番号を書式化
param = ipa.ToString().Replace(".", ",") & ","
param &= CStr(ipendpu.Port \ 256) & ","
param &= CStr(ipendpu.Port Mod 256)
SendData("PORT " & param)
'コマンドを送信
SendData(cmd & " " & IO.Path.GetFileName(fn))
'データ送受信用Socket
'データ送受信用Socket()
lscu = tlu.AcceptSocket→ここでかたまります。
以下省略