[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
| |
C#、Vb2005 でSocket通信
6
:
RYU
:2010/06/09(水) 09:47:38
すみません。続きです。
private void OnReadComplete(IAsyncResult ar)
{
try
{
//受信文字をStreamから読み込みます
if (networkStream == null)
return;
//受信バイト数が返る
int bytesRead = networkStream.EndRead(ar);
if (bytesRead > 0) //受信文字が有った
{
//受信部分だけ切り出す
Byte[] getByte = new byte[bytesRead];
for (int i = 0; i < bytesRead; i++)
getByte[i] = buffer[i];
byte[] uniBytes;
//'S-Jisからユニコードに変換
uniBytes = Encoding.Convert(ecSjis, ecUni, getByte);
string orMsg = BitConverter.ToString(getByte);
//バイト配列から文字列に変換する
string strGetText = ecUni.GetString(uniBytes);
//受信文字を切り出す
// 相手先を調べる
IPEndPoint r_ip1 = (IPEndPoint)this.socket.RemoteEndPoint;
string rip = Convert.ToString(r_ip1.Address);
// 受信ポートを調べる
IPEndPoint l_port = (IPEndPoint)this.socket.LocalEndPoint;
int lp = Convert.ToInt16(l_port.Port);
//event handler
Server_ER_data rr = new Server_ER_data(rip, lp, orMsg, strGetText);
OnRecive(this, rr);
//とりあえず返信する
WriteString(uniBytes);
//次の受信を待つ
networkStream.BeginRead(buffer, 0, buffer.Length, callbackRead, null);
としています。
ここのOnRecive(this, rr);でイベントを発生させ、呼び出し側で、
受信データの処理を行いたいと思っています。
サンプルでは、直接フォームのテキストに書いていますが、一度受取、処理したいと考えています。
良い方法をご指導願います。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板