|
Hi!
I am developing a client/server app.
The problem is that the server side is uneable to read from the cryptostream (although the underlying NetworkStream has available data).
Here's the client side:
tcpc=new TcpClient();
tcpc.Connect(Client.Settings.serverName,Client.Settings.ServerRegisterPort);
NetworkStream S=tcpc.GetStream();
BinaryFormatter bf=new BinaryFormatter();
CryptoStream Si, So;
Client.DoKeyExchange(S,out Si,out So);
string resp="OK\n";
byte b=3;
So.WriteByte(b);
So.Flush();So.FlushFinalBlock();
S.Flush();
And the server side:
NetworkStream S=new NetworkStream(Soc,true);
BinaryFormatter bf=new BinaryFormatter();
CryptoStream Si,So;
Server.GetKeyExchange(S,out Si,out So);
b=Si.ReadByte();
The server block (maybe waiting for more data) at this line.
And the two functions:
public static void DoKeyExchange(Stream S, out CryptoStream Si, out CryptoStream So)
{
Rijndael rijn=Rijndael.Create();
//rijn.KeySize=128;
rijn.GenerateIV();
rijn.GenerateKey();
RSAOAEPKeyExchangeFormatter RsaF=new RSAOAEPKeyExchangeFormatter(rsa);
byte [] iv=RsaF.CreateKeyExchange(rijn.IV);
byte [] key=RsaF.CreateKeyExchange(rijn.Key);
BinaryFormatter bf=new BinaryFormatter();
bf.Serialize(S,iv);
bf.Serialize(S,key);
S.Flush();
rijn.Key=ASCIIEncoding.ASCII.GetBytes("ABCDEFGHABCDEFGH");
rijn.IV=ASCIIEncoding.ASCII.GetBytes("ABCDEFGHABCDEFGH");
So=new CryptoStream(S,rijn.CreateEncryptor(),CryptoStreamMode.Write);
Si=new CryptoStream(S,rijn.CreateDecryptor(),CryptoStreamMode.Read);
}
public static void GetKeyExchange(Stream S, out CryptoStream Si, out CryptoStream So)
{
RSAOAEPKeyExchangeDeformatter RsaF=new RSAOAEPKeyExchangeDeformatter(rsa);
BinaryFormatter bf=new BinaryFormatter();
byte [] iv=(byte[])bf.Deserialize(S);
byte [] key=(byte[])bf.Deserialize(S);
iv=RsaF.DecryptKeyExchange(iv);
key=RsaF.DecryptKeyExchange(key);
Rijndael rij=Rijndael.Create();
rij.IV=iv;
rij.Key=key;
Si=new CryptoStream(S,rij.CreateDecryptor(key,iv),CryptoStreamMode.Read);
So=new CryptoStream(S,rij.CreateEncryptor(key,iv),CryptoStreamMode.Write);
}
Any ideeas?
Best,
Mircea
|
|
|
|
|
Hi, all the time is showing me error at line:
objConexao = New SqlConnection(connString);
which says that I forgot the semicolon(;), but as you can see I did not forget it!
See the whole routine bellow inside a .aspx page:
<%@ Page Language="C#" Debug="true"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script language="C#" runat="server">
public void Page_Load(Object Sender, EventArgs EA)
{
String connString,strSQL;
SqlConnection objConexao;
SqlCommand objCommand;
SqlDataReader objDataReader;
connString = "Server=Localhost; Database=Northwind; Uid=SqlService; Password=xx;";
objConexao = New SqlConnection(connString);
objConexao.Open();
strSQL = "SELECT * FROM Products";
objCommand = New SqlCommand(strSQL, objConexao);
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection);
While(objDataReader.Read = True)
{
lblSaida.Text += objDataReader["ProductName"] + " - " + objDataReader["UnitPrice"] + "<br>";
}
objDataReader.Close();
objConexao.Close();
objDataReader = Nothing;
objCommand = Nothing;
objConexao = Nothing;
}
</script>
-------------
Thanks,
=========================
Vilmar Brazão de Oliveira
|
|
|
|
|
This question belongs in the ASP.NET[^] forum. However just a side note, that message is typically a sign that you left something out above where it ran into your code statement saying you need a semicolon.
- Nick Parker My Blog | My Articles
|
|
|
|
|
OK, so how can I fix it?
thanks by help.
=========================
Vilmar Brazão de Oliveira
|
|
|
|
|
Take care... you're mixing VB and C#... C# is case sensitive so make your line objConexao = New SqlConnection(connString); to have a lowercase new like objConexao = new SqlConnection(connString);
don't forget that Nothing doesn't exists... use null like
objDataReader = null;
But I think that you won't need to set null or nothing to your objects because your already have the Garbage Colector
Good Luck and abraços!
Wender Oliveira
.NET Programmer
|
|
|
|
|
Hey guys,
I thank you all!
Wender you guessed! My problem is that I am more habituated with VB/VB.net than with C#.
Regards,
Um abraço tb.!
=========================
Vilmar Brazão de Oliveira
|
|
|
|
|
How can I get an XmlNode from an XmlTextReader . What I really want to know is this.
Here is my XmlTextReader
XmlTextReader xtr=new XmlTextReader(this.textBox1.Text);
Now, I want to use this method, but I can't get an XmlNode out of xtr. What do I do?
public void LoopThroughChildren(XmlNode root)
{
this.listBox1.Items.Add(root.Name+ " \t\t\t"+root.FirstChild.Value);
foreach (XmlNode n in root.ChildNodes)
{
if (n.NodeType == XmlNodeType.Element)
{
LoopThroughChildren(n);
}
}
}
I was using an XmlDocument but my xml file is too large to use it anymore... So basicilly can somebody help me write a recursive method that goes though an entire xml file?
/\ |_ E X E GG
|
|
|
|
|
Nevermind, I just realized how dumb my question was...
/\ |_ E X E GG
|
|
|
|
|
Have you thought about using XPath to select from your XML document?
- Nick Parker My Blog | My Articles
|
|
|
|
|
nope. I don't know what that is.
/\ |_ E X E GG
|
|
|
|
|
There are a series of classes within the .NET Framework that support XPath. Read the XPath specification at the W3C[^], there are also a bunch of useful articles that may be more easy to understand that can be found on Google. This[^]
might be the easiest way to get started.
- Nick Parker My Blog | My Articles
|
|
|
|
|
Just you opinion here... Do you think this would be a better substitute for parsing a huge XML file into a database and then running queries on it???? Running xpath queries sounds pretty nice.
/\ |_ E X E GG
|
|
|
|
|
Actually, i need some little help because i'm facing a "high-level" problem ( i call it that, because it is not a familier or ordinary problem).
I was able to export a shockwave flash file into the C#
environment by a certain COM component, then i added some
fading features to the generated exe by making use of the
opacity and about 3 timers (the exe file has 3 forms).
The problem is during the execution, i pressed Ctrl+Alt+Del and i was surprised to see the Memory Usage of my file to be about 13 MB , which increases to about 17 MB when i call the other forms to appear (like the "About me" form)!!!
The most strange thing is that my file is really small in size, 136KB!
Is the cause for this, the usage of timers or what? and is there anyway through which i can decrease the mem usage, because this size is large indeed,,,
Microprose F117
|
|
|
|
|
"export a shockwave flash file into the C#" using com+ will increase the memory usage of your app-form, since the flash is costing, and com+ loads other dlls which is necessary to run the flash exporting com+ dll. memory usage is not necessary related to the file size, it depends how it runing, how many extra resources which it bring up during the running process.
|
|
|
|
|
First off, quit yelling!
The problem is not beacuse of the Timers, it's because your running a Managed app. 13-17MB is not uncommon for a Windows Forms managed application. You file size is 136K because it's IL code, not an executable. The IL gets translated into machine code by the .NET Framework and runs in what is essentially a virtual machine. The large memory footprint is the overhead of the .NET Framework and, no, you really can't make it any smaller.
You really don't have to worry about the memory footprint because it is managed by the Framework's Garbage Collector. I would HIGHLY suggest reading about it here[^]. It runs a bit lazily and won't clean up objects and free memory right away unless your machine start running low on memory.
I've got an app, puzzle solver really, that will consume about 2.3GB, yes GB, of memory at it's peak, even though the executable size is a mere 52KB. It beat the hell out of the GC so bad I had to write in my own memory manager to handle forecasting and pre-allocating array space.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Dave Kreskowiak wrote:
It beat the hell out of the GC so bad I had to write in my own memory manager to handle forecasting and pre-allocating array space.
I would love to see this as an article, that would definitely be interesting.
- Nick Parker My Blog | My Articles
|
|
|
|
|
2.3 GB? I thought a process under a 32-Bit windows could consume 2 GB maximum...
|
|
|
|
|
I believe that limit applies to any single object, not a process.
SQL Server can run WAY over that limit quite easily.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi,
could somebody just do this for me, what it is that i have this homework assignment that i need to have in by monday and i haven't done anything or even written any c.
What i need is a piece of software that uses a global positioning system to map out various areas of the world which you can zoom in and out on. Then pin point certain areas and go into buildings and then start planning the furniture.
This should then be able to create several documents - letters spreadsheets detailing this and providing area managers with the plans and a cover letter.
If anyone can do that for me by monday thanks
|
|
|
|
|
Funny! That was really funny!
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
well, homedepot has the same software, you can buy it!
|
|
|
|
|
|
definitely a joke, definitely!!!
|
|
|
|
|
Hi everybody, can anybody tell me where to find information about masks in ASP.NET with c#???? What i need is to set an input mask in a textbox, like this: (___) ___-____ . What could i do? or where can i find information about it? Thank u very much.
|
|
|
|
|
You need to look into javascript so this can be done on the client side. Please ask your question on the ASP.NET[^] forum.
- Nick Parker My Blog | My Articles
|
|
|
|