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

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

A 回答 (2件)

ここの履歴にサンプルが載ってます。

。。
っていうか載せました。

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

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

まずはMSとGoogleで探してみましょう。

    • good
    • 2

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

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

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

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

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

Qカスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。

よろしくお願いします。

Aベストアンサー

通常のプロパティと同じように、プロパティ ウィンドウに項目を表示して設定できるようにする必要があります。
具体的には、
1. カスタム コントロールのクラスに外部公開する Property プロシージャを作成して、内部で値を保存できるようにする。
2. そのプロパティの宣言部分で、プロパティ ウィンドウに表示するように指示する属性値を設定する。

こんな感じです。

参考URL:http://www.atmarkit.co.jp/fdotnet/winexp/winexp02/winexp02_01.html

Qwinsock 送受信

VB6を使っていますが、詳しくないので質問させていただきます。
とりあえず同じPCでwinsockを用いてサーバとクライアントを接続させてデータを送受信するプログラムをつくっています。
データの送受信senddataとDataArrivalのところで悩んでいるのですが、senddataを数箇所用いていて、送ったデータは
GetData 変数
により全て同じ変数にされてしまいます。
サーバでtemp=10とi=1のデータを送ると、クライアントでもそのtemp=10とi=1のデータ両方が使いたいわけですが、どうすればいいでしょうか?

Aベストアンサー

送るタイミングがわかりませんが、方法としては、temp=10 と i=1 を送る場合に、同時に送るようなデータであれば 1001 というtempとiを組み合わせた形式で送信して、左2文字がtempで右2文字がiと送信時のフォーマットを決めておけばいいように思います。また、両方の送信のタイミングが別々の場合は t10 とか i1 のような組み合わせで送信して、変数で受け取ったときにif文とleft関数で左一文字を見てそれぞれの変数に割り振るような方法がいいかと思います。
いかがでしょう。

QVB6からの移行したいけど、VB.NETのコントロール配列は?

VB6ではフォーム上にボタンコントロールとかを配列で作成できクリックされた時にはボタンイベントのインデックス値によってどのボタンを押されたが判断できて各処理を記述できていましたが、VB.NETでは同じようにはできないようです。オブジェクト指向的?にはこちらがいいのでしょうが、どうも面倒くさくなったなぁというイメージしかわかず、なぜこの方がいいのかという納得いく書籍とかも見つけることができていません。
どなたか、ご教授頂きたいのですがよろしくお願いします。参考になる書籍やWEBとかもありましたらお教えいただければ幸いです。

Aベストアンサー

VB6のように、コントロール配列はありません。
イベントモデルの変更によるものです。
コントロール配列の代わりとして、オブジェクト配列を使います。
残念ながら、デザイン画面でindexによる配列処理はできません。
コード画面から、Newでインスタンスを生成させる方法です。
Dim MyButton(10) As New Button

イベント処理は、
WithEventで発生させるイベントを宣言し、Handlesによって処理の定義をします。
Private Sub( … )Handles MyButton.Click
イベントプロシージャ内の配列の区別は、TabIndexか、Tagを使用します。

VB.NETへの移行の必要性は分かりませんが、
現状のVB.NETでは不便な点が多々あるようです。
また、リバースエンジニアリングの懸念が心配な言語です。私的に、2005のバージョンに期待したいです。

QWinsockコントロールのErrorイベントでオーバーフロー

VisualVasic 6.0 Professional Edition (SP 5)を使用しています。

WinsockコントロールのErrorイベントに関する質問です。このイベントでエラーを出したいと思っているのですが、
オーバーフローしてしまい、うまくいかず困っています。

MSDNライブラリの説明では、

object_Error(number As Integer, _
Description As String, _
Scode As Long, (以下略)

というふうになっていて

numberの説明は、「エラー コードが整数で渡されます。
返される値については、次の「設定値」を参照してください」
となっています。

ここまでは良いのですが、その設定値で
「sckBadState :(値)40006
要求されたトランザクションまたは要求に対して、
プロトコルまたは接続の状態が正しくありません。」
などの値がnumberに渡ってしまうとオーバーフローしてしまいます。
何か良い対策方法はないでしょうか?

現在は、
Select Case Number
Case sckBadState '40006
--処理内容--
End Select

などというふうに書いています。

よろしくお願いします。

VisualVasic 6.0 Professional Edition (SP 5)を使用しています。

WinsockコントロールのErrorイベントに関する質問です。このイベントでエラーを出したいと思っているのですが、
オーバーフローしてしまい、うまくいかず困っています。

MSDNライブラリの説明では、

object_Error(number As Integer, _
Description As String, _
Scode As Long, (以下略)

というふうになっていて

numberの説明は、「エラー コードが整数で渡されます。
返される値については、次の「設定値」を参照してくださ...続きを読む

Aベストアンサー

たぶん、エラーコードは符号なし2byte整数なのかな
それをlong型に変換してやればいいと思います。

Private Sub Winsock1_Error(Number As Integer, (以下略)

Select Case UnsignedShort2Long(Number)
Case sckBadState
End Select
End Sub

'Unsigned Shortをlong型に変換
Private Function UnsignedShort2Long(ByVal n As Integer) As Long
If (n >= 0) Then
UnsignedShort2Long = n
Else
UnsignedShort2Long = &H8000& + (n And &H7FFF)
End If
End Function

たぶん、エラーコードは符号なし2byte整数なのかな
それをlong型に変換してやればいいと思います。

Private Sub Winsock1_Error(Number As Integer, (以下略)

Select Case UnsignedShort2Long(Number)
Case sckBadState
End Select
End Sub

'Unsigned Shortをlong型に変換
Private Function UnsignedShort2Long(ByVal n As Integer) As Long
If (n >= 0) Then
UnsignedShort2Long = n
Else
UnsignedShort2Lon...続きを読む

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

まずは環境を
WindowsXPSP2、VisualBasic6.0SP6です。

目的はサーバがマルチキャスト配信しているのを
VBのクライアントがWinsockコントロールを使用して受信する方法を教えていただきたいのです。

Winsockコントロールを使用してUDPでの通信ができたのですが
WinsockコントロールにはCの「setsockopt」に該当する命令が無い(わからない)のです。

Winsockコントロールで実現できないのであれば
winsockのAPIを使用する方法でもかまわないのですが
APIの情報も見つからず困っています。
APIを実装しても「IPPROTO_IP」「IP_ADD_MEMBERSHIP」などの定数の定義の情報がなくわからないのです。

これらの情報が載っているページや、解説しているページがあればお教えください。
または実装方法を知っておられるならお教えください。
よろしくお願いします。

Aベストアンサー

今、似たようなことをやっています。
ヘッダからとってきます。

■プロトコル
#define IPPROTO_IP 0

■マルチキャスト
winsockのバージョンによって異なる

1)version 1
winsock.hから
#define IP_ADD_MEMBERSHIP 5
#define IP_DROP_MEMBERSHIP 6

2)version 2
WS2TCPIP.hから
#defineIP_ADD_MEMBERSHIP 12
#defineIP_DROP_MEMBERSHIP 13

VBのWinsockコントロールのバージョンは知りません。
MFCのソケットクラス使ってたらversion1です。


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

人気Q&Aランキング

おすすめ情報