就是我建立的服务器端和客户端两者通信的时候,客户端发送图片,服务器接收图片时服务器报错。
“通信Client端, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nul”
服务器代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using SerializeObj;namespace fjscServer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private SerializeFile myMedia = new SerializeFile();
private SerializeFile newFile = null;
private void Form1_Load(object sender, EventArgs e)
{
} private void button1_Click(object sender, EventArgs e)
{
this.button1.Enabled = false;
//新建监听
TcpListener listener = new TcpListener(IPAddress.Parse("166.111.66.37"),8880);
listener.Stop();
//开始监听
listener.Start();
while (true)
{
const int bufferSize = 4096;
TcpClient client = listener.AcceptTcpClient();
//接收客户端传过来的数据
NetworkStream clientStream = client.GetStream();
byte[] responseBuffer = new byte[bufferSize];
MemoryStream memStream = new MemoryStream();
int bytesRead = 0;
do
{
bytesRead = clientStream.Read(responseBuffer, 0, bufferSize);
memStream.Write(responseBuffer, 0, bytesRead); } while (bytesRead > 0);
BinaryFormatter formatter = new BinaryFormatter();
memStream.Seek(0, SeekOrigin.Begin);
newFile = (SerializeFile)formatter.Deserialize(memStream);
//自定义存放目录 newFile.FileName 存放在debug下面
FileStream fs = new FileStream(newFile.FileName, FileMode.OpenOrCreate);
BinaryWriter w = new BinaryWriter(fs);
w.Write(newFile.FileData);
fs.Close();
memStream.Close();
MessageBox.Show("成功");
} } private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
“通信Client端, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nul”
服务器代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using SerializeObj;namespace fjscServer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private SerializeFile myMedia = new SerializeFile();
private SerializeFile newFile = null;
private void Form1_Load(object sender, EventArgs e)
{
} private void button1_Click(object sender, EventArgs e)
{
this.button1.Enabled = false;
//新建监听
TcpListener listener = new TcpListener(IPAddress.Parse("166.111.66.37"),8880);
listener.Stop();
//开始监听
listener.Start();
while (true)
{
const int bufferSize = 4096;
TcpClient client = listener.AcceptTcpClient();
//接收客户端传过来的数据
NetworkStream clientStream = client.GetStream();
byte[] responseBuffer = new byte[bufferSize];
MemoryStream memStream = new MemoryStream();
int bytesRead = 0;
do
{
bytesRead = clientStream.Read(responseBuffer, 0, bufferSize);
memStream.Write(responseBuffer, 0, bytesRead); } while (bytesRead > 0);
BinaryFormatter formatter = new BinaryFormatter();
memStream.Seek(0, SeekOrigin.Begin);
newFile = (SerializeFile)formatter.Deserialize(memStream);
//自定义存放目录 newFile.FileName 存放在debug下面
FileStream fs = new FileStream(newFile.FileName, FileMode.OpenOrCreate);
BinaryWriter w = new BinaryWriter(fs);
w.Write(newFile.FileData);
fs.Close();
memStream.Close();
MessageBox.Show("成功");
} } private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
解决方案 »
- 如何调用MSHTML?
- IE右键,应用程序如何接收参数
- 关于PictureBox触发事件的问题
- 奇怪的问题:引用System.Configuration后,却找不到 ConfigurationSection等类
- dataGrid中有若干行数据,有一个MouseUp事件可以得到点的行数,如果换了分辨率,即使双击标题栏使窗口最大化也可以触发MouseUp事件,请问怎么
- vSS2005+VS2005到最后一步出现的问题
- 如何在C#windows应用程序中显示时间啊?
- 改变windows窗体的问题
- 请教多线程、资源分配问题,请高手指点
- 在datatable成功中添加了一列,如果才能保存到数据库?
- 排课问题
- 那个大仙有操作office通用类
在VS中显示错误的信息。