• ベストアンサー

Winsockを使わずにVBでSocketを利用したい

Winsockを使わずにVBでSocketを利用したいと考えています.事情がありましてコンポーネントを使わずにSocket通信でサーバープログラムと通信を行いたいです. APIなどでSocket関係の関数は用意されているのでしょうか? 宜しくお願いします. OS:Windows2000+SP4 Visual Basic 6.0+SP5

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

ソケットで検索↓

参考URL:
http://www.vbvbvb.com/jp/gtips/index.html
mar0325
質問者

お礼

回答ありがとうございます. たくさんの例がのっており大変助かりました. 今から1つずつ調べたいと思います。

その他の回答 (1)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

私もwsock32.dllのAPI関数だけ作ったことがあるけど、結構大変だったです。 私の場合は、下記を参考にして作りました。

参考URL:
http://hp.vector.co.jp/authors/VA022513/program.html#tcp_vb
mar0325
質問者

お礼

回答ありがとうございます. 紹介して頂いたサイトのソースコードの解析を早速行います.

関連するQ&A

  • WinSock API

    IP変換器を使用してRS-232C → 変換器 → PC を1本のLAN上で行う処理を考えています。 しかし、VBも通信もまったくの初心者でなにから手をつけてよいのかがわかりません。ご指導お願いします。 1.APIを使用してのPG作成  WinSock APIは WinSockコントロールとの違いは何でしょうか?  またWinSock APIを使用する場合、VBへの組み込み方法を教えてください。

  • VB6のwinsockでconnectできない

    socketでconnectすると、sckclosingとなって通信できない。 機械との通信プログラムをつくるため、インターネットから以下のようなサンプルを取って、同一コンピュータ、または異なるコンピュータ間で通信しようとした(一部省略、改変)が、stateが8となってしまいます。socketを使うのは初めてで、皆目見当がつきません。よろしくお願いします。 サーバー側 Private Sub Form_Load() Winsock1.LocalPort = 1001 Winsock1.Listen -------- End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim dat As String, ans As String Dim n As Integer Winsock1.GetData dat Text1.Text = dat Winsock1.SendData "わかりません" End Sub Private Sub Form_Load() Text1.Text = "abc" (正しいコンピュータ名を入れた) Winsock1.Close LabCon.Caption = "Closed": LabCon.BackColor = vbWhite End Sub クライアント側 Private Sub Command1_Click() Winsock1.Close Winsock1.RemoteHost = Text1.Text Winsock1.RemotePort = 1001 'ポート番号設定 Winsock1.Connect Do While (Winsock1.State <> sckConnected) LabCon.Caption = Winsock1.State DoEvents Loop End Sub クライアントでcommand1ボタンをクリックすると最初はstateが0、ループに入ると8となって出られません。WindowsXP、Vista共に同じ結果でした。

  • Winsockコントロールを使用してマルチキャスト通信

    まずは環境を WindowsXPSP2、VisualBasic6.0SP6です。 目的はサーバがマルチキャスト配信しているのを VBのクライアントがWinsockコントロールを使用して受信する方法を教えていただきたいのです。 Winsockコントロールを使用してUDPでの通信ができたのですが WinsockコントロールにはCの「setsockopt」に該当する命令が無い(わからない)のです。 Winsockコントロールで実現できないのであれば winsockのAPIを使用する方法でもかまわないのですが APIの情報も見つからず困っています。 APIを実装しても「IPPROTO_IP」「IP_ADD_MEMBERSHIP」などの定数の定義の情報がなくわからないのです。 これらの情報が載っているページや、解説しているページがあればお教えください。 または実装方法を知っておられるならお教えください。 よろしくお願いします。

  • VB6.0 Winsockについての質問です。

    VB6.0 Winsockについての質問です。 はじめまして。 現在、VB6.0を使用してTCP通信にてテキストデータを送るプログラムを作成しています。 機能としては全て完成しているのですが、現在再接続ができないじょうたいです。 PC上にサーバプログラムとクライアントプログラムを立ち上げます。 localport は 0 として設定しており、 host は、localhostとしています。 remortportは5000を設定しております。 現段階で発生している問題として、 クライアント側にてConnectイベントをさせ、 サーバ側にて、ConnectionRequestイベントが発生します。 クライアント側にて、Closeイベントは発生させ、 サーバー側も切断を確認します。 この状態でクライアント側から再度Connectイベントを発生させても サーバ側にてConnectionRequestイベントが発生しません。 サーバ側のプログラム一度終了させ、もう一度起動させると また、接続が可能になります。 もう、2日以上悩んでいるのですが、、、解決できません。 どなたか、詳しい方がいらっしゃいましたらご教授お願いします。

  • ExcelVBAでのwinsockの利用

    だいぶ以前に、VB6を使ってマニュアル片手にtcpやudpによるLAN内での双方向データ転送(チャットごっこ)ができるものを作った経験があります。 最近、Excel2010のVBAを使って当時のようなものを作ってみたいと考え、CQ出版の「VBAによるTCP/IPプログラミング入門」を購入しました。読んだ限りではなんとかなりそうに思ったのですが、その中で、「Winsockコントロールはプログラム開発し配布するためにはそのライセンスが必要でライセンスなしではWinsockコントロールを配置してダイアログを作成できない」という記述がありました。つまりはVB6などのライセンスがある環境でないと作り始めることができないようです。 幸いVB6はうちの古いパソコンに入っていますから、そちらに入っているExcelでWinsockコントロールを配置しただけのVBAファイルを作り、今のExcel2010に持って来て修正していくのであれば作業は可能らしいのですが、いずれは破棄するであろうパソコンに依存しないといけないという流れがしっくり来ません。 また、VB6を今の環境に移せば解決する話だとも思いますが、今後VBAは使ってもVB6を使うことはないだろうということと、容量等の事情から、できればこちらに入れるようなことはしたくありません。 必要に迫られてもいなく少々わがままな事情も合わせての話ですが、何か解決方法がありましたら提案・指摘などをお願いいたします。

  • VB.NETによるTCP通信プログラムについて

    VB.NETによるTCP通信プログラムについて VB.NETによりTCP通信プログラムを開発しようと思っておりますが、TCP通信はクライアントとサーバーに機能が分かれると思いますが、一つのアプリケーションでサーバー機能とクライアント機能を有するアプリケーションは開発が可能でしょうか? サンプルプログラムを探しているのですが、どれも、クライアントとサーバーのどちらかの機能だけですが、両機能を持ち合わせたサンプルを掲載されているサイトをご存じの方は、お手数ですが、教えて頂けると助かります。 ご教授のほど、よろしくお願い致します。 Windows XP SP3 Visual Studio 2008 Visual Basic

  • VB6.0⇒VB2008のコンバートについて

    ある端末でVB6.0のプログラムをVB2008へコンバートしました。 その後、別のVB6.0がインストールされていない端末でプログラムを実行しようとしたところ、"COMExceptionはハンドルされませんでした。"とエラーが発生しました。 上記のコンバートしたプログラムではソケット通信でwinsockを利用していました。 そのためプログラムを修正して、winsockを利用しないようにしたところ、エラーがなく実行できました。 おそらく、VB6.0がインストールされていない事が原因だと思うのですが、いまいちわかりません。 どなたかご教授お願いします。

  • VB6のコメントなどで・・・

    久々にVB6にて開発を行っています。 そこで質問なのですが、 ' 関数名    : hoge ' 概要 : あれこれする関数 ' ' 戻り値 : String というヘッダコメントを書いていると、":"が ずれてしまいます。 FontはMSゴシックを選択しているのに、Pゴシックを 選択しているようなずれを起こします。 ":"はすべて全角になっています。 プログラムには影響はありませんが、いざコメントを見ようとすると読みにくくなります。 これは環境の問題なのでしょうか。それとも、VB6の 問題なのでしょうか? 開発環境 VisualStudio6 SP6 OS    Windows2000 Server SP4 以上、よろしくお願いいたします

  • Winsockについて

    OS :WindowsXP 開発言語 :VC++ Winsock :2.2 現在、Winsockプログラムにて下記のようなテストをしています。 接続 ⇒ データ送信(正常) ⇒ LANケーブル抜く ⇒ データ送信(当然エラー) ⇒ LANケーブル挿す ⇒ データ送信 ・・・ ←ここでもエラーが発生してしまいます。 Winsockの通信は一度切れてしまうと最初から接続しなおさないと駄目なのでしょうか。

  • winsockについて

    winsock、非同期モードでTCP/IP通信を行うようなプログラムを作成しています。 通常の同期モードでのプログラムは完成させることができました。 そこで、クライアント側を非同期モードにし、受信バッファにデータが入ったら受信するというようなプログラムにしたのですが、どうもうまく動作してくれません。 やはりサーバー側も非同期モードにしなければならないのですか?? どなたかご教授お願いします。

専門家に質問してみよう