这个,我想问一下:
你是在异步通讯的时候在onreceivedata里面调用这个函数吗?
我在单线程情况下调用的时候是可以运行的,但是现在在异步通讯的server接受到数据的时候就立刻调用它,然后用根据你那个改写以后的
private unsafe void AddIntoFile(string ss)
{
string strT = ss;
byte[] buf;
System.Text.ASCIIEncoding ae = new ASCIIEncoding();
int l;
int j;
buf = ae.GetBytes(strT);
l = buf.Length;
stlc.AddToHead(ref buf[0], l, 0);
strT = string.Format("Add telegram success, total {0}", stlc.Size);
MessageBox.Show(strT);
}
private unsafe void btnReadData_Click(object sender, EventArgs e)
{
byte[] buf = new byte[4086];
//int telid;
int l;
//string strV;
//string strV1;
//IntPtr p = new IntPtr((void *)&data);
fixed (byte* p = buf)
{
try
{
if (stlc.Size > 0)
{
l = stlc.GetFromTail(ref p[0], 0);
stlc.DelFromTail(1);
MessageBox.Show(Encoding.ASCII.GetString(buf, 0, l));
}
else
{
MessageBox.Show("no data");
}
}
catch (Exception et)
{
MessageBox.Show(et.Message);
}
}
}
这样子只能保证第一个字母是对的,后面就是乱码了。
读出来比如 发送 textbox
读出来就是 t???
是不是 fixed语句有问题?
stlc.AddToHead(ref buf[0], l, 0);
只绑定了第一个字节?
但是我记得数组好像是第一个字节的地址就是数组的开始地址啊
现在只能运行保证第一个字母氏对的 后面都是乱的
你是在异步通讯的时候在onreceivedata里面调用这个函数吗?
我在单线程情况下调用的时候是可以运行的,但是现在在异步通讯的server接受到数据的时候就立刻调用它,然后用根据你那个改写以后的
private unsafe void AddIntoFile(string ss)
{
string strT = ss;
byte[] buf;
System.Text.ASCIIEncoding ae = new ASCIIEncoding();
int l;
int j;
buf = ae.GetBytes(strT);
l = buf.Length;
stlc.AddToHead(ref buf[0], l, 0);
strT = string.Format("Add telegram success, total {0}", stlc.Size);
MessageBox.Show(strT);
}
private unsafe void btnReadData_Click(object sender, EventArgs e)
{
byte[] buf = new byte[4086];
//int telid;
int l;
//string strV;
//string strV1;
//IntPtr p = new IntPtr((void *)&data);
fixed (byte* p = buf)
{
try
{
if (stlc.Size > 0)
{
l = stlc.GetFromTail(ref p[0], 0);
stlc.DelFromTail(1);
MessageBox.Show(Encoding.ASCII.GetString(buf, 0, l));
}
else
{
MessageBox.Show("no data");
}
}
catch (Exception et)
{
MessageBox.Show(et.Message);
}
}
}
这样子只能保证第一个字母是对的,后面就是乱码了。
读出来比如 发送 textbox
读出来就是 t???
是不是 fixed语句有问题?
stlc.AddToHead(ref buf[0], l, 0);
只绑定了第一个字节?
但是我记得数组好像是第一个字节的地址就是数组的开始地址啊
现在只能运行保证第一个字母氏对的 后面都是乱的