一対多数のチャットを作っているのですが、ユーザ名を判断するのと、受信データを受け取るために、DataArrivalを二つに分割するようにできないのでしょうか?
ユーザ名を判断する方は、ユーザ名を入力すると「IPアドレス=ユーザ名」となるように、チャットのときにわかる感じになればいいなと思っています。
受信データの方は、普通にチャットができるようにしたいと思っています。
サーバは何もせず中間役で、一対一のチャットもできるようにしたいとも思っています。
どーでしょうか?データを二つに分割できるでしょうか?また、三つは無理でしょうか?
Winsockを使っているのであれば、Winsockを配列にしておいて
ConnectionRequestがきた時に新しいWinsockを作って
Winsock1(*).Accept requestID
とすれば
Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
DataArrivalはIndexでどの接続先からのデーターか判ります。
接続要求があったユーザー名の取得は、接続要求があったときに
相手に聞けばいいと思います。
返事ありがとうございます。
サーバがクライアントのデータを判別するにはどのようにすればよいでしょうか?
また、ファイルをクライアント同士で転送するにはどのようにすればよいでしょうか?
>サーバがクライアントのデータを判別するにはどのようにすればよいでしょうか?
Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
のIndexでどのクライアントからデーターが来たのかわかります。
>ファイルをクライアント同士で転送するにはどのようにすればよいでしょうか?
送る先のIPがわかっていれば、どちらかがサーバーになればいいのですが、
わからなければ、サーバーを介してIPを送るか、匿名であればサーバーを介して
データーを送ることになります。
判別はわかりました。ありがとうございます。
ファイルを送るときは、今までの言葉のやり取りと違うと思うんですけど、何か例として教えていただけませんか?
お願いします。
送るファイルはバイナリーファイルですか
テキストファイルですか、それによって
かなり違ってきます。
勉強不足でよくわかりませんが、たぶんバイナリーファイルです。
よろしくお願いします。
>勉強不足でよくわかりませんが、たぶんバイナリーファイルです。
簡単に言うとメモ帳で開いて読めるのがテキストファイル、メモ帳で開いても
読めないのが、バイナリファイルです。
このへんがしっかりと解からないと、送受信や、ファイルへの書き込みは
難しいかも。Googleで"binary ファイル"などとして調べてみてください。
バイナリーファイルは画像とかのことですよね?
できれば、バイナリーファイルがいいと思いますが、
バイナリーファイルの方だと難しいのでしょうか?
>バイナリーファイルの方だと難しいのでしょうか?
はい
少なくても画像ファイルをバイナリファイルで開いて
違う名前で書き出すことが出来る知識は必要です。
送る方はファイルを読み込んで、バイト配列にして送り
受け取る方は、バイト配列を受け取ってファイルをセーブ
します。
返事ありがとうございます。
では、テキストファイルの方だと簡単にできるのでしょうか?
テキストファイルで画像を送受信するのは無理ですよね?
チャットに何をつけると面白いでしょうか?
また、作るのにもう時間があまりないのですが、簡単にチャットにつけて、
実行できるもので何かあれば、教えていただくとありがたいです。
簡単なゲームがあれば、それも教えていただくと嬉しいです。
わがままなことばかり言っていますが、よろしくお願いします。
>テキストファイルで画像を送受信するのは無理ですよね?
無理です。
>チャットに何をつけると面白いでしょうか?
私も教えてほしい。
>簡単なゲームがあれば、それも教えていただくと嬉しいです。
http://www.int21.co.jp/pcdn/vb/noriolib/vbcomp/7/vbcomp7/vbcomp7.html
こんなところを参考に。
返事ありがとうございます。
バイナリーファイルであれば、どのようにすればよいのでしょうか?
度々すみませんが、よろしくお願いします。
"Winsock バイト配列" や
"Winsock バイナリ" で検索を。
ありがとうがざいました。
ありがとうございましたm(__)m
ツイート | ![]() |