//打开文件
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "图片文件(*.jpg;*.bmp;*.png;*.gif)|*.jpg;*.bmp;*.png;*.gif";
if (dlg.ShowDialog() == DialogResult.OK)
{
FileInfo fileInfo = new FileInfo(dlg.FileName);
byte[] buffer = new byte[fileInfo.Length];
using (FileStream stream = fileInfo.OpenRead())
{
stream.Read(buffer, 0, buffer.Length); if (sendSocket.Connected)
{
sendSocket.Send(buffer);
}
}
}发送的时候出现值不在预期的范围内。
还有窗体程序接收时,文字能接收成功,不知道图片怎么接收,并显示在picturebox中
请高人指点
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "图片文件(*.jpg;*.bmp;*.png;*.gif)|*.jpg;*.bmp;*.png;*.gif";
if (dlg.ShowDialog() == DialogResult.OK)
{
FileInfo fileInfo = new FileInfo(dlg.FileName);
byte[] buffer = new byte[fileInfo.Length];
using (FileStream stream = fileInfo.OpenRead())
{
stream.Read(buffer, 0, buffer.Length); if (sendSocket.Connected)
{
sendSocket.Send(buffer);
}
}
}发送的时候出现值不在预期的范围内。
还有窗体程序接收时,文字能接收成功,不知道图片怎么接收,并显示在picturebox中
请高人指点
{
Socket rSocket = (Socket)ar.AsyncState;
int rEnd = rSocket.EndReceive(ar);
for (int i = 0; i < clientNum; i++)
{ if (clientSocket[i].Connected)
{
clientSocket[i].Send(msgBuffer, 0, rEnd, 0);
int size =0;
byte[] buf = new byte[1024];
do
{
size = rSocket.Receive(buf, 1024, SocketFlags.None);
if (size > 0)
{
//String tmp = Encoding.ASCII.GetString(buf, 0, size);
String tmp = Encoding.GetEncoding("gb2312").GetString(buf, 0, size);
textBox1.Text = DateTime.Now+"收到:"+clientSocket[clientNum].RemoteEndPoint.ToString()+":"+tmp + "\r\n"; }
} while (size > 0); }
rSocket.BeginReceive(msgBuffer, 0, msgBuffer.Length, 0, new AsyncCallback(RecieveCallBack), rSocket);
}
}
这是接收文字的代码,不知道怎么把接收图片的代码写入!!!
FileInfo fileInfo = new FileInfo(dlg.FileName);
byte[] buffer = null;
using (FileStream stream = fileInfo.OpenRead())
{
buffer = new byte[stream.Length];