| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2968 人关注过本帖
标题:异步tcp通讯程序中读写文件的问题--第一次发帖请多关照
只看楼主 加入收藏
jingzhao22visa
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2006-8-10
收藏
得分:0 
中午回去吃饭了。。
所以。。。。。。。


不过,我不知道他怎么用的,公司里就是要我用这个dll的函数做。不知道可不可以用fso。
我再研究研究好了。

汗一个:ultraedit我还是不知道怎么看内码。。。没用过。只知道功能强大。代码进去我自己都看不明白。不知道要看什么。

无论如何
感谢各位的帮忙。

2006-08-10 14:28
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
dll註冊時出現

dllregisterserver entry point was not found錯誤
不是個可自行註冊的dll


真是抱歉,沒辦法用

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-10 14:40
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用jingzhao22visa在2006-8-10 14:28:11的发言:
中午回去吃饭了。。
所以。。。。。。。


不过,我不知道他怎么用的,公司里就是要我用这个dll的函数做。不知道可不可以用fso。
我再研究研究好了。

汗一个:ultraedit我还是不知道怎么看内码。。。没用过。只知道功能强大。代码进去我自己都看不明白。不知道要看什么。

无论如何
感谢各位的帮忙。

右键 点HEX编辑 就能看16位内码了
或者用快捷键 CTRL+H 来回切换


此号自封于2006年11月30日
2006-08-10 14:45
jingzhao22visa
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2006-8-10
收藏
得分:0 
我这里有那个dll的文件。。。
要是你有时间可以看的话,我发给你。。。应该能注册吧。



2006-08-10 14:50
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

好,發來看看


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-10 14:57
jingzhao22visa
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2006-8-10
收藏
得分:0 
发过去了。。。
我在网上。
邮件也可以。

2006-08-10 15:10
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
收到了
ok
難怪不能註冊 這次發過來的dll比上個文件裡面的大了20多倍

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-10 15:19
jingzhao22visa
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2006-8-10
收藏
得分:0 
....那就是说程序不能移植吧,每次移植的时候还要带上dll文件?
。。。。。。。。。。。。。。。。。。。。我还以为可以直接用。。

2006-08-10 15:38
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
[CODE]

private unsafe void button1_Click(object sender, System.EventArgs e)
{
Test_Struct data = new Test_Struct();
byte[] bt;
string strV = "Hello, this is a test";
//bt = strV.ToCharArray();
bt = Encoding.ASCII.GetBytes(strV);
int l=bt.Length;
data.tel_id = 99887;
data.test_data = 99999;
data.Telegram=new byte[l];
bt.CopyTo(data.Telegram,0);
//System.Runtime.InteropServices.Marshal.Copy(bt, 0, data.Telegram, bt.Length);
///Buffer.BlockCopy(bt, 0, data.Telegram, 0, bt.Length);
//data.Telegram = strV;
//ip = new IntPtr((void *)data.Telegram);
//System.Runtime.InteropServices.Marshal.Copy(bt,0,ip,bt.Length);
//MessageBox.Show(data.Telegram[0].ToString());

fixed(byte *p = data.Telegram)
{
//p = (byte *)data.Telegram;
try
{
stlc.AddToHead(ref p[0], l,1);
}
catch (Exception et)
{
MessageBox.Show(et.Message);
}
}
strV = string.Format("After add data. total {0} telegrams in list", stlc.Size);
MessageBox.Show(strV);


}




private unsafe void button2_Click(object sender, System.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);
}
}

}

[/CODE]

要先Init,再add,再read.
不知道你要甚麼功能,只為了執行成功,可能有很大出入
結構你那些id幹啥用,好像沒見你寫入報文啊,但為甚麼讀出來時去判斷它

[此贴子已经被作者于2006-8-10 16:16:22编辑过]


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-10 16:12
jingzhao22visa
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2006-8-10
收藏
得分:0 
你是把struct的一个数据成员,一个fixed char[] telegram 写入文件。
但是,我那个程序中使用的是 byte *p = &data
也就是说,是把id号,那些东西全部都写入文件。他那个好像是加过密的,所以,只能看到数据而已。
我看过,使用add 功能,可以很清楚的看到每次加入的字符串。
但是另外两个
id 什么的就看不见了。

而在读的时候,写dll的人是为了方便而言,直接判断并读出一个具有特定id号的telegram。

我是为了测试,所以才这样写这个id号。
但是即使这样,我写入文件中,并不能像写dll的人的程序,可以看到每次加入的字符串。
我在socket中受到的string不能加入进去。看不到
用他的就可以看到。


如果用fixed(byte *p = buf) 确实可以使用fixed语句,它可以绑定未确定的地址,
因为我现在是测试版本,将来所有写入文件的报文我将增加搜索功能。就是按照一定的id号或者什么其它的标志来搜索并取出来的。
所以必须要用 byte *p = &data

即是说要将结构体所有的成员传递进去。包括id 以及作为真正报文内容的telegram.

这个时候,如果用fixed想要绑定的话就报错。因为它认为这个是定长的数据。

如果要求将结构体所有的成员传递进去。包括id 以及作为真正报文内容的telegram,
那要怎么改呢?


谢谢。

2006-08-10 17:16
快速回复:异步tcp通讯程序中读写文件的问题--第一次发帖请多关照
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030228 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved