السلام عليكم :
مشكلتي هي في إرسال غرض عبر الشبكة هذا الغرض مشتق من الكلاس التالي :
[Serializable]
public class messageClass :ISerializable
{
public String reg;
public String message;
//public IPEndPoint clientIp;
public messageClass()
{
reg = "";
}
internal messageClass(SerializationInfo si, StreamingContext context)
{
message = si.GetString("message");
reg = si.GetString("reg");
}
public void GetObjectData(SerializationInfo si, StreamingContext context)
{
si.AddValue("message", message);
si.AddValue("reg", reg);
Type t = this.GetType();
si.AddValue("TypeObj", t);
}
}عملية الإرسال من client تتم بشكل صحيح و لا غبار عليه :
private void button1_Click(object sender, EventArgs e)
{
TcpClient socket = new TcpClient();
messageClass msg = new messageClass();
msg.reg = "yes";
socket.Connect(ipTXT.Text, 1313);
NetworkStream netStream = socket.GetStream();
IFormatter form = new SoapFormatter();
form.Serialize(netStream, msg);
netStream.Close();
}الاستقبال من السيرفر :
public void recieveData()
{
TcpListener listner = new TcpListener(1313);
NetworkStream netStream;
SoapFormatter readFormat = new SoapFormatter();
listner.Start();
while (true)
{
IPEndPoint ip = new IPEndPoint(IPAddress.Any, 0);
Socket clientsocket = listner.AcceptSocket();
netStream = new NetworkStream(clientsocket);
IFormatter objformatter = new SoapFormatter();
if (netStream.CanRead)
{
messageClass clinetmsg = (messageClass)objformatter.Deserialize(netStream);
if (clinetmsg.reg == "yes")
{
MessageBox.Show("welcome to our chat");
}
}
}
}المشكلة : حدوث Exception :
Parse Error, no assembly associated with Xml key a1:http://schemas.microsoft.com/clr/nsassem/client/client%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull messageClass
عند السطر:
messageClass clinetmsg = (messageClass)objformatter.Deserialize(netStream);
فهل من إقتراح أو حل ؟؟؟
مع العلم أنني حاولت ب BinaryFormatter و يحدث Exception عند نفس السطر .....
و عذراً على الإطالة