|
とりあえず作ってみましたがまだ動きません。
server側
Int32 port = 1234;
IPAddress localAddr = IPAddress.Parse("127.0.0.1");
TcpListener server = new TcpListener(localAddr, port);
server.Start();
TcpClient client = server.AcceptTcpClient();
NetworkStream ns = client.GetStream();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
byte[] resBytes = new byte[256];
int resSize;
do
{
resSize = ns.Read(resBytes, 0, resBytes.Length);
if (resSize == 0)
return;
ms.Write(resBytes, 0, resSize);
}
while (ns.DataAvailable);
string resMsg = enc.GetString(ms.ToArray());
if (resMsg == "image")
{
Bitmap bitmap = new Bitmap(@"C:\\Documents and Settings\\user\\デスクトップ\\image.jpeg");
System.IO.MemoryStream msimg = new System.IO.MemoryStream();
bitmap.Save(msimg, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] byteData = new byte[msimg.Length];
byteData = msimg.ToArray();
byte[] bytesize = BitConverter.GetBytes(msimg.Length);
ns.Write(bytesize, 0, bytesize.Length);
ns.Write(byteData, 0, byteData.Length);
}
client側
////////////////クライアントがサーバにデータ要求////////////
byte[] buffer;
Int32 port = 1234;
TcpClient clinet = new TcpClient();
NetworkStream ns = clinet.GetStream();
clinet.Connect("127.0.0.1", port);
string subject = "英語";
byte[] data = System.Text.Encoding.UTF8.GetBytes(subject);
NetworkStream stream = clinet.GetStream();
stream.Write(data, 0, data.Length);
//////////////////////////////////////////////////////////////////
///////////////サーバからくる画像データをpicturebox1に表示////////////
byte[] bytesize = new byte[4];
ns.Read(bytesize, 0, 4);
int datasize = BitConverter.ToInt32(bytesize, 0);
int readsize = 0;
byte[] bitmap = new byte[datasize];
while (readsize < datasize)
readsize += ns.Read(bitmap, readsize, datasize - readsize);
MemoryStream ms = new MemoryStream(bitmap);
Bitmap bmp = Bitmap.FromStream(ms); //コンパイルエラーエラー 1 型 'System.Drawing.Image' を 'System.Drawing.Bitmap' に暗黙的に変換できません。明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
Graphics g = Graphics.FromImage(bmp);
g.DrawImage(bmp, 0, 0, 640, 480);
g.Dispose();
pictureBox1.Invalidate();
流れとしては
1.サーバ起動
2.クライアントがサーバに画像データ要求
3.サーバがクライアントに画像データ送信
4.クライアント側でその画像を加工しサーバに送信
です
ダメなところがあったら指摘お願いします。
|