WinSock.DLLでFTPクライアントのデータコネクション用ソケットを作成するときローカルマシンの空きポート番号を取得する方法をどなたがもしご存知でしたら教えてください。よろしくお願いしますっ。

A 回答 (2件)

失礼しました。

コントロールではなかったのですね。

どこかのHPにCのサンプルがあったんだけど、PCが犯されて全てフォーマット。。。
URLがわからなくなってしまいました。


僕もFTPソフトを作成し始めたのですが、まだ通信の部分に手をつけてません。(T▽T)

コントロールのSock機能に似せたListenサンプルを作ってみました。
たぶんこんな感じかな。(未検証)


SocketHandle = CreateSocket(AF_INET, SOCK_STREAM, 0)
If SocketHandle = SOCKET_ERROR Then
  LastErrorCode = Err.LastDllError
  Exit Function
End If

hWndLocal = CreateWindowEx(0, "ClassCopy", "", 0, 0, 0, 0, 0, 0, 0, App.hInstance, 0)

If WSAAsyncSelect(SocketHandle, hWndLocal, WM_USER, FD_ACCEPT) <> 0 Then
  LastErrorCode = Err.LastDllError
  Exit Function
End If
lngRet = ListenSocket(SocketHandle, 5)
LastErrorCode = Err.LastDllError

If lngRet = 0 Or (lngRet = SOCKET_ERROR And LastErrorCode = sckWouldBlock) Then
  uState = sckListening
  LastErrorCode = 0
End If
    • good
    • 0
この回答へのお礼

あっありがとうございます!!
今までポートに0をいれてBindしてもうまくいかなかったんですが
htons(0)にしてみたら、うまく空きポートを割当ててくれたみたいです!
でもWSAAsyncSelectのつかいかたなんかとても参考になりましたよ。
感謝感謝ですっ!!

お礼日時:2001/12/12 09:31

ポートを指定しないでオープンしてあげると、自動で空きポートを使用するのでポート指定は必要ないと思うけど、、、



参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=155606
    • good
    • 0
この回答へのお礼

ご回答ありがとうございますっ!
でも今回はWinSockコントールでなくWinSock.DLLで処理させたいのです。
ポート番号を切り替えてbindしてみたんだけど、どーもうまくいかないんです・・・。

お礼日時:2001/12/10 21:36

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

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

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

Q皮下埋め込み型ポート

皮下埋め込み型ポート

母が、週に1~2度の点滴を受けています。
高齢の母の血管は細く、何度も針を入れ直します。
先生から皮下埋め込み型ポートをするよう進められました。
27日に、手術を受ける事になりました。
手術の同意書には、怖い事が書いてありました。
致命的であったりします。と書いてあります。
点滴の際、何度も針を刺すのはかわいそうですが、
このままにしておこうかとも考えています。
この手術は、そんなに危ないものですか。

Aベストアンサー

当方の知る限り、一般的な静脈点滴用の埋め込みポートは、致命的ではありません。
しかし、責任逃れのため、非常に小さな医療行為であっても、患者の親族の同意書を取りたがる医療機関が存在すると思います。
絶対的な緊急性がないのなら、その埋め込みポートのリスクをきっちり調査されるまではペンディングでも良いのではないでしょうか。
逆に、本当に緊急性が高いものであれば、医療機関は自主判断でその医療行為を行っていると思います(親族の同意無しに)。

QVBのソケット通信(winsock)のサイト

VBでwinsockコントロールを使ってソケット通信にて、データの送受信をするプログラミングをするのですが、サンプルコードなどが載っているサイト、わかりやすく説明してあるサイトがありましたら教えてください。

Aベストアンサー

ここの履歴にサンプルが載ってます。。。
っていうか載せました。

わかりやすいかどうかは、わかりませんが・・・

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=155606

QCVポートのカテーテル断裂について ピンチオフ 医療ミス?医療過誤?

2年ほど前に 抗ガン剤治療のため CVポートを胸元に入れました。
1回目の点滴から 落ちが悪く 起き上がると 点滴が全く落ちなくなってしまうため 点滴中は トイレ以外は寝て使用してました。
何度か使用し、その度に落ちが悪い事は 主治医にも看護士にも伝えましたが、レントゲンで確認する事もなく 気になるなら ポートの入れ替えしましょうか?と。
その時に、ピンチオフの可能性の説明があれば 入れ替えてたはずです。
当時無知だった私達は、痛い思いをしたくないのでという 本人の希望通り 落ちは悪いものの そのまま使用してました。
その後 点滴始める前の 注射器での生理食塩水?を流す際 無理に流そうとしたのか グシャっと変な音が…
その日は ポートを使用した際 痛みが出たので 腕からの点滴に切り替えました。
しばらく腕から抗ガン剤治療をしました。
何とか もっと他の治療法がないかと色々調べ セカンドオピニオンを受けたいのでと 主治医に話すと その度に 全て否定され 都会の病院に行っても どこも同じだから と中々紹介状を頂けませんでした。
半年程我慢し やはり 不信感と威圧感に耐えかね 長い話し合いの結果渋々紹介状を書いて頂ける事になりました。
その後 他の病院にお世話になる事になり 抗ガン剤治療をするには ポートの入れ替えしましょうか?と。
そこで、ピンチオフしている事が発覚しました。
その時点で5月でした。
2月にとったCTをよく見ると 断裂したカテーテルが写り込んでたそうです。
すぐ、足の付け根から 3時間かけて カテーテル除去手術をしましたが 血管にくっ付いていて 除去する事ができませんでした。
手術後落ち着いてから 前の病院に事情を話した所、全面的にミスを認め 院長から謝罪を受けました。
で、示談の話になり 提示された額は 27万円。
入院中の代金と、その間の精神的苦痛に対してだそうです。
カテーテルはそのまま残ってるのに、その後の精神的な苦痛に対してはどうなるのか質問すると、総額では30万で…キリよくした?
呆れ果てました…
病気だけでも大変なのに、カテーテルも肺静脈に残ってる状態です。
そこで、知りたいのは この額は妥当なのでしょうか?
示談書が送られてきてから、まだ返事ができずにいます。
本人はもう末期で痛みの緩和に移りました。
もし、亡くなった場合 示談金は頂けないのでしょうか?
これは、医療過誤、医療ミス どちらになりますか?
乱文で 読み辛い点が多々あると思いますが ご回答頂けると助かります。

2年ほど前に 抗ガン剤治療のため CVポートを胸元に入れました。
1回目の点滴から 落ちが悪く 起き上がると 点滴が全く落ちなくなってしまうため 点滴中は トイレ以外は寝て使用してました。
何度か使用し、その度に落ちが悪い事は 主治医にも看護士にも伝えましたが、レントゲンで確認する事もなく 気になるなら ポートの入れ替えしましょうか?と。
その時に、ピンチオフの可能性の説明があれば 入れ替えてたはずです。
当時無知だった私達は、痛い思いをしたくないのでという 本人の希望通り 落ちは悪いもの...続きを読む

Aベストアンサー

私もCVポート設置者です。
酷い話ですね。

金額が妥当かについては、社会保険なども関係するのでは?
通常は7割ですが限度額認定も受けているのでは?


>もし、亡くなった場合 示談金は頂けないのでしょうか?

関係ありません。
損害賠償請求は相続されます。
病院が認めているのであれば、国や行政の機関も
巻き込んで請求するべきです。

QFTPファイル転送の際のアクティブモードによるソケット生成方法

http://support.microsoft.com/default.aspx?scid=kb;ja;832679

上記のサイトのclassをそのまま利用してFTPでファイルをアップロードするソフトを作っているのですが、どうやらCreateDataSocket関数ではパッシブモードにしか対応しておらず、アクティブモードによるソケット生成を行いたいのですが、どのようにしたらいいでしょうか?

Aベストアンサー

Activeモードの場合、自分がデータコネクションのサーバになりますので、ソケットをbind/listen/acceptして、PORTで指示するのを自力で行う必要があります。

WinINet APIとか、WebClientクラス(.NET Framework 2.0ですが。)とかを使った方が手っ取り早いのでは。

Qポートを入れるか迷っています。

来月から母の抗癌剤治療が始まるのですが、埋め込み型ポートを入れるかどうか迷っています。

抗癌剤の点滴は3~4週間に一度、期間は手術までの半年、術後は経過を見ながら数回行うそうです。
担当の先生からは、頻度もそうでもないし、年齢のわりに血管もしっかりしているしどっちでも良いよ、
ただ実際始まってみないと血管がどうなるか分からないし、ポートを入れた人はみんな良かった、楽だと言っている、と言われています。強く勧められているわけでもないので迷っています。
治療が始まって、血管の負担があまり大きいようならばその時に入れれば良いのか、とも思いますが、それからではその分身体の負担が大きいのかなとも…。
急いで決めず、セカンド・オピニオン(聞きかじりでどんなものなのかもよく知らないのですが)をお願いした方が良いのかな? とか…。
とにかく決めかねています。

明日の診察で治療の開始日とポートのことも決めなければなりません。
アドバイス、経験談などありましたらお聞かせください。よろしくお願い致します。

Aベストアンサー

No1です。再び失礼します。
ちょっと嫌な思いをされたんですね・・

私の病院での癌チームの方針では病状説明や治療法相談は必ずご家族と一緒に来てもらいます。癌患者さん本人はやはり自分のことだし、一番意見を言うべきだちばだけどやはり癌と言う未知のものに恐怖を抱いていたり動転していたりで自分に本当にいいのはどういうことかというのが考えられない状況のことが多いと思います。
家族の方は、動転こそすれやはりご自身よりは冷静に客観的に物事を考えられるし、そもそも一番癌患者さんをサポートするのは医師でも看護師でもなく御家族ですものね。
家族の方がいろいろと質問をしてこられて説明の時間が非常に長くなることはよくありますが、その一家にとっては一大事です。遠慮なんてすることないと思います。そうやって疑問が出てきていろいろ聞きたいのは当然だし、そうあるべきだと思うし、医師もそれに応える義務があると思います。

医師によっては、技術や知識が同じでもそういったコミュニケーション力が足りない人もいると思います。質問を面倒くさいと思う医師もいるだろうし、家族がでしゃばるなと考える医師もいるのかもしれません。面倒くさいと思っていなくても、不器用でうまく相談に乗れない医師もいるかもしれません。医師も人間ですから、質問者様にとって合う、合わないももちろんあると思いますしいろんな医師がいますから・・・

このエピソードだけで「その医師はよくないですね」なんていうつもりは全くないです。しばらく付き合って、どうしても「この先生に出会えてよかった」とは思えないと思われたら、転院・セカンドオピニオンは患者の権利です。これから長くお母様の病気と闘っていくのだと思います。どうか後悔のないように、いろいろお母様とも相談されてください。

No1です。再び失礼します。
ちょっと嫌な思いをされたんですね・・

私の病院での癌チームの方針では病状説明や治療法相談は必ずご家族と一緒に来てもらいます。癌患者さん本人はやはり自分のことだし、一番意見を言うべきだちばだけどやはり癌と言う未知のものに恐怖を抱いていたり動転していたりで自分に本当にいいのはどういうことかというのが考えられない状況のことが多いと思います。
家族の方は、動転こそすれやはりご自身よりは冷静に客観的に物事を考えられるし、そもそも一番癌患者さんをサポートす...続きを読む

QWin32APIのFTPクライアントについて

SolarisサーバーからWininetAPIをファイル一覧を取得するFTPクライアントプログラムについての質問です。
FtpFindFirstFile関数を使用しWIN32_FIND_DATA構造体から取得したファイル名をリストボックスに表示しています。
このとき文字化けしてしまい正しいファイル名を取得できません。(タイムスタンプの同様です)
EUCコードからS-JISへの変換が正しく行われていないようなのですが解決方法をご存知の方がおられましたら宜しくお願い致します。

Aベストアンサー

NextFTPで試したところ、やはり漢字ファイル名は文字化けしますが、EUC→SJISに
変換するオプションを選ぶと正しく表示されました。
つまり、EUC→SJIS変換は自動的に行われないので、FTPクライアント側で変換する
必要があります。
具体的な変換方法ですが、WindowsAPIに変換する関数がないようなので、
フリーのDLLを使うか自作するしかないですね。

参考URL:http://www.toxsoft.com/nextftp/index.html

Qポート埋め込み手術について教えてください。

ポート埋め込み手術について教えてください。
実の母(58歳)のことで相談します。
2年前に上行結腸に腫瘍ができ6月に手術して抗がん剤治療をしていましたが、副作用がひどくなったため、去年の9月末で医師の診断の元、抗がん剤をやめていました。すると今年の2月からかなり体調が悪くなり、検査してもらうと卵巣に悪性腫瘍が見つかり、4月に全摘出しました。
高度医療可能な病院に紹介状をかいていただき、先月PET検査しました。結果、今のところ、腫瘍の影は見当たらなかったのですが、抗がん剤治療は必要とのことで、あさってにポート埋め込み手術をします。
鎖骨下にポートを埋めて2週間ごとに48時間抗がん剤点滴をする治療と、聞きましたが、まだまだ不安に感じ、直接医師からの詳しい説明がなくて・・・

費用や期間、メリット、デメリットを詳しく知りたいので、同じような治療経験のあるかた、またご存知のことがありましたら、教えてください。よろしくお願いします。

Aベストアンサー

まず、ポート埋め込み手術とは何か、ということについて
ご参考に……
http://ganjoho.jp/public/dia_tre/attention/chemotherapy/route.html
http://www.medicon.co.jp/general/index.php?m=P04

費用については、もちろん、高額療養費制度の適用になります。
この手術自体よりも、使用する抗がん剤の料金の方が問題でしょう。

Qターミナルサービスでクライアントのローカルディスクにアクセスしたい

ターミナルサービスを使用しています。

VB.NETでクライアントのローカルデスクにアクセスしたいのですが、アクセス方法が分かりません。

一応、ターミナルサービスに接続する際に、「ローカルディスク」のローカルデバイスのデスクドライブにチェックを付けているので、ターミナルサービスに接続した際にエクスプローラー上ではクライアントのディスクを使える状態にはなっています。

よろしくお願いします。

Aベストアンサー

>WTSQuerySessionInformation
リモートクライアント名かIP取れました?私は取れませんでした。

リモートユーザは、ターミナルサービスマネージャを見ると、各セッションIDごとに管理されているようですね。
一応セッションIDを取得する方法です。
別の方法で取ることができるのかも知れませんが、私はこれぐらいしか知りません。
Private Function GetセッションID() As Integer
  Const con_SessionId As String = "SessionId"

  Dim obj32Proc As Object
  Dim objProperty As Object
  Dim intCount As Integer = 0

  Dim strSQL As String = "SELECT " & con_SessionId & " FROM Win32_Process WHERE handle = " & Process.GetCurrentProcess.Id

  For Each obj32Proc In GetObject("winmgmts:").ExecQuery(strSQL)
    For Each objProperty In obj32Proc.Properties_
      If (objProperty.Name.ToString = con_SessionId) Then
        Return CType(objProperty.Value, Integer)
      End If
    Next
    Exit For
  Next
End Function



アクセスする方法は
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/Default.asp?url=/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/mstsc_local_files.asp
\\マシン名\ドライブ
だそうです。(と書いている最中にtodo36さんの書きを発見^^;)

ただ接続先が別ドメインの場合、ドメイン越えでローカルにアクセスするようになるようです。
ドメインをまたぐLAN環境にしておかないと、クライアント環境の整備だけではつながりませんでした。


質問の内容が.NETっていうより、↓かな^^;
TOP > コンピューター [技術者向け] > 運用・管理
http://okweb.jp/oshiete.php3?c=708

セッションIDからリモートクライアント情報が抜けたら何とかいけると思うのですが、、、

>WTSQuerySessionInformation
リモートクライアント名かIP取れました?私は取れませんでした。

リモートユーザは、ターミナルサービスマネージャを見ると、各セッションIDごとに管理されているようですね。
一応セッションIDを取得する方法です。
別の方法で取ることができるのかも知れませんが、私はこれぐらいしか知りません。
Private Function GetセッションID() As Integer
  Const con_SessionId As String = "SessionId"

  Dim obj32Proc As Object
  Dim objProperty As Object
  Di...続きを読む

Q肝不全の点滴治療について(転院等も含めて)

父が肝硬変で昨11月に余命2週間との診断を受け、その後アルブミン製剤・モリヘパミン等の点滴治療を行い、入退院を繰り返し、早4ヶ月が過ぎようとしています。

1ヶ月ほど前に、右の麻痺と肝性脳症で緊急入院し、モリヘパミンの点滴で約10日後には、麻痺もなくなり肝性脳症も治まったため、点滴を中断したところ、2日後に右の麻痺が出て、再度点滴を行ない(1日500cc2本)、1泊外泊の許可が出て自宅に帰りました。

点滴再開後、2日でまだ完全には戻っていない状態に見受けられましたが、病院側の入院時よりはましですからとの説明で、外泊することになり、夕方連れ帰りましたが、翌日夕方あたりより右が効かなくなり、肝性脳症で意識がなくなってしまい、救急車で病院に搬送しました。

搬送後、CTと点滴をし、翌日には回復しました。このような状況で毎日点滴が必要との判断から、担当医より転院の説明がありました。3箇所ばかり紹介され見学しましたが、2箇所が精神病院、1箇所が老人病院と行ったところでした。

皆様にお伺いたいのは、今、お世話になっている急性病院にはいつまでいられるか。
また、転院で紹介された病院ではおおむねの患者さまが寝たきりで、父の様態とは違うように思われますが、このような病院しかないのでしょうか。
また、血管が細くなりIHVのポートを入れる手術をしました。この場合、通院での点滴や在宅で訪問看護などでの対応などは可能となるのでしょうか。
また、肝硬変は肝不全に進んでしまい、本人に一番よい環境で最後を過ごさせてあげたいと思いますが、どうしたら一番かわかりません。
本人は家に帰りたいと何度も話しており、それが一番だとは思うのですが、このような病状で自宅で可能でしょうか。
今現在、要介護1の認定を受けていますが、これを利用することは可能でしょうか。教えてください。
よろしくお願いします。

父が肝硬変で昨11月に余命2週間との診断を受け、その後アルブミン製剤・モリヘパミン等の点滴治療を行い、入退院を繰り返し、早4ヶ月が過ぎようとしています。

1ヶ月ほど前に、右の麻痺と肝性脳症で緊急入院し、モリヘパミンの点滴で約10日後には、麻痺もなくなり肝性脳症も治まったため、点滴を中断したところ、2日後に右の麻痺が出て、再度点滴を行ない(1日500cc2本)、1泊外泊の許可が出て自宅に帰りました。

点滴再開後、2日でまだ完全には戻っていない状態に見受けられましたが、...続きを読む

Aベストアンサー

在宅看護を専門にしている大学の教員です。

急性期病院は通常2週間から1ヶ月程度の入院をするところですので、医師の予想よりもお父様が頑張られてきた経緯があって、制度の合間にはまってしまった感じですね。
他にあるとすれば、緩和ケア病棟でしょうか。

在宅での療養と看取りも可能と思われますが、ある程度、条件があるように思います。まずは看取り等に対応できる訪問診療が可能な医師や経験のある訪問看護の事業所が近隣に存在することです。その他に、ある程度質問者の方自身が、ある程度対応できる体制をつくる必要があるかと思います。(看取る時期には仕事の融通が利くような準備はしておいたほうがよいでしょう。)
輸液などはポートから自宅でも可能ですが、それによる効果はこれからあまり期待できなくなると思います。それをどこまで行うのか、(可能なら)ご本人とご家族の意見をまとめ医療職とも相談しながら進めてゆくことになると思います。介護保険も使われると思いますのでケアマネとも相談が必要です。(要介護1ということですが、区分変更の申請でもう少し介護度が重くなり、上限が拡大されると思いますので、これも相談してみてください。)

どうしたら1番良いのかは患者さん本人にしかわかりません。自分の人生をどうしたいのかについては患者さんが先生だと学生にも教えています。(でも本人もよくわかんない!ということもあります。)少なくともご家族がご本人の意向をご存じであれば、ご本人の意思が確認できない場合にできるだけそれに沿って医療面でサポートしていくことは可能です。

残される皆さんにはとても辛いことかもしれませんが、お父様の最期の時が有意義なものになるよう祈っております。

在宅看護を専門にしている大学の教員です。

急性期病院は通常2週間から1ヶ月程度の入院をするところですので、医師の予想よりもお父様が頑張られてきた経緯があって、制度の合間にはまってしまった感じですね。
他にあるとすれば、緩和ケア病棟でしょうか。

在宅での療養と看取りも可能と思われますが、ある程度、条件があるように思います。まずは看取り等に対応できる訪問診療が可能な医師や経験のある訪問看護の事業所が近隣に存在することです。その他に、ある程度質問者の方自身が、ある程度対応でき...続きを読む

Qwininet.dllとwsock32.dllについて

クライアントのVBAから、サーバにHTTPで文字データを送信しようとしています。

1. WinAPIの"InternetOpenURL"(wininet.dll)が使えると思いましたが、MSDNLibraryではWinCE用と英語で言っているようでした。W2Kの自PCにも上記DLLは入っていますが、W2Kで使うのは一般的ではないのでしょうか?

2. クライアントのIPアドレスも送信したいので、wsock32.dllのAPIで取得しようとしています。wininetやwsock32が、いつインストールされるものなのか(OS入れた時か、Officeか、IEか等)を調べる手段はあるでしょうか?また、MS社以外の製品によって、これらのDLLがアップデートされてしまうことは通常ないと考えていてよいものでしょうか?

ご教授下さいますよう、よろしくお願いします。

Aベストアンサー

1, もしかしてCE .Net用のMSDNのページを見ていませんか?
http://msdn.microsoft.com/library/en-us/wcewinet/html/cerefinternetopenurl.asp
普通はこちらです。
http://msdn.microsoft.com/library/en-us/wininet/wininet/internetopenurl.asp

IE3.0以降がインストールされたWin95以降、WinNT4.0以降が対象のようです。

2. wininet.dllは元から入っているか、IE3.0以降を入れることでインストールされるらしいです。
wsock32.dllはさらに低レベルの物ですから、それ以前にインストールされているでしょうね。
どちらにしろ現在このdllが入っていない稼動状態のWindowsはほぼ無いと思います。

> MS社以外の製品によって、これらのDLLが
ウイルスとか。
真っ当なソフトなら多分そんなことはしないでしょう。
そもそもライセンスは大丈夫か?って気がしますし。

1, もしかしてCE .Net用のMSDNのページを見ていませんか?
http://msdn.microsoft.com/library/en-us/wcewinet/html/cerefinternetopenurl.asp
普通はこちらです。
http://msdn.microsoft.com/library/en-us/wininet/wininet/internetopenurl.asp

IE3.0以降がインストールされたWin95以降、WinNT4.0以降が対象のようです。

2. wininet.dllは元から入っているか、IE3.0以降を入れることでインストールされるらしいです。
wsock32.dllはさらに低レベルの物ですから、それ以前にインストールされているでし...続きを読む


人気Q&Aランキング

おすすめ情報