|
Interesting problem.
So, you broadcast 0,0,0,246 to the network, and this causes the devices to respond with MAC address and other info.
I *think* that this holds the answer:
while (udp.Available > 0)
bytes.Add(udp.Receive(ref broadCastIp));
The endpoint is passed by reference as it gets set to the remote endpoint:
while (udp.Available > 0)
{
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
udp.Receive(ref remoteEndPoint);
}
Regards,
Rob Philpott.
|
|
|
|
|
Kick ass! Solved problem!
|
|
|
|
|
Good stuff!
Regards,
Rob Philpott.
|
|
|
|
|
Yes:
DirectoryEntry computers = new DirectoryEntry();
computers.Path = "WinNT://MSHOME";
foreach (DirectoryEntry computer in computers.Children)
{
Console.WriteLine(computer.SchemaClassName + ":" + computer.Name);
if (computer.SchemaClassName == "Computer")
{
IPAddress[] localIPs = Dns.GetHostAddresses(computer.Name);
foreach (IPAddress ip in localIPs)
{
Console.WriteLine(" " + ip.ToString());
}
}
}
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
Digital man: "You are, in short, an idiot with the IQ of an ant and the intellectual capacity of a hose pipe."
|
|
|
|
|
Hi All
I need your advice what is the best solution to handle data
I’m developing online logger application at windows that will be connected to hardware.
The application should handle heavy traffic data( could be up to hundreds of events per second)
The datagridview is active as viewer only (readonly).
I need to develop mechanism of insert the events to DB and display them in the datagridview.
I need your advice if this is correct approach?
I’m thinking of using the flow below
Init()
{
SqlConnection connection = new SqlConnection(connectionstring);
connection.open()
SqlDataAdapter adapter = new SqlDataAdapter("select * from TableName", connection);
DataSet ds = new DataSet();
dataGridView1.DataSource = ds;
);
}
AddRow(data)
{
//Add to database
string insertString = "insert into TableName (Field1, Field2) values (‘Value1’,’Value2’)";
// 1. Instantiate a new command with a query and connection
SqlCommand cmd = new SqlCommand(insertString, connection);
// 2. Call ExecuteNonQuery to send command
cmd.ExecuteNonQuery();
}
//each second the timer event occurs
Timer ()
{
adapter.Fill(ds,idxLastUpdatedRow,100/* update 100 records each time*/ ,tableName);
dataGridView1.refresh()
}
Thanks
Ronen
|
|
|
|
|
If you are talking about "hundreds of events per second" then do not even try to display them in real time: it will very quickly become a bottle neck. Display the last twenty: use a different thread to load the database and update the DataGridView from the UI thread on a timer. Who the heck do you expect to read hundreds of messages a second? I'm a reasonably fast reader (average novel in under two hours) but I wouldn't cope with that volume of data, and would go bonkers if I had to try from more than 30 seconds.
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
Digital man: "You are, in short, an idiot with the IQ of an ant and the intellectual capacity of a hose pipe."
|
|
|
|
|
OriginalGriff wrote: average novel in under two hours
Man your reading habit must be bloody expensive.
100s of rows a second, I don't think you could even focus comfortably on the data!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
It was, in space alone!
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
Digital man: "You are, in short, an idiot with the IQ of an ant and the intellectual capacity of a hose pipe."
|
|
|
|
|
I'm develop a online logger monitor,
i know the user could be able to read the db in the grid
The grid will be update each second with amount of data that I will define (such as 200 events)
i'm asking about the Implementation
ronen
|
|
|
|
|
I hope you're not expecting to have one app that does both the gathering and the displaying.
I recommend a Web Service to gather the data. The display app can also use the Web Service or query the database directly.
I (and several others here) dislike DataAdapters, DataSets, and DataGridViews. I recommend using a DataReader directly and a TreeView.
Don't put data access code directly in your GUI code; write a Data Access Layer.
Don't use concatenation to form your SQL statements; use parameters.
|
|
|
|
|
thanks for the tips
the apps should be run localy, can i stll run web service, the service should collect the data and insert to db?
i'm think of using several threads in te App (one handling the data recieving, one for processing and store in DB, and one for displaying
thanks
ronen
|
|
|
|
|
Ronenb wrote: can i stll run web service
Yes.
Ronenb wrote: the service should collect the data and insert to db?
Yes.
Ronenb wrote: several threads
Yes.
Ronenb wrote: one handling the data recieving
Querying from DB or Service
Ronenb wrote: one for processing and store in DB
No. That's done by the Service.
Ronenb wrote: one for displaying
That's the app's main thread.
By having a separate process for collecting and storing the data, you can have multiple clients displaying the data.
|
|
|
|
|
thank you very much for your input
|
|
|
|
|
How to check For duplicate Record Before inserting in Xml File Using C# .
Regards & Thanks,
Kuldeep Verma
Ass.IT Developer
|
|
|
|
|
|
hello
i have an educational software that should be installed on different PCs across the enterprise.
my program is using a 5000 text, xml, html files as source of it's content. i don't want my source to be tampered with, copied or used illegally. what i intend to do is to encrypt my source seperately and then put the encrypted files in a folder inside of my app so later my app can read and decrypt each file that is requested by user. the app will be installed and used anywhere.
but the problem is that to secure and store the encryption key inside my application i have to use a key container while as far as i remember(correct me if i'm wrong) they're machine based and can't be used on different machines while i need my key to be fixed for all the installed copies on any PC. i know a lot of softwares using such a architecture but i don't know how do they do that.
any idea?
|
|
|
|
|
When creating a Silverlight dependency property of type decimal (on my control) I got the following errors when setting a value in XAML:
Failed to create a 'System.Decimal' from the text '200.0'.
Failed to create a 'System.Decimal' from the text '200'.
SERIOUSLY? Is it THAT hard?
____________________________________________________________
Be brave little warrior, be VERY brave
|
|
|
|
|
No. It sounds like your DP and/or XAML is wrong. You might want to post them .
|
|
|
|
|
|
C# expects decimal literals to have an M at the end -- 200.0M, will that work?
|
|
|
|
|
Here is the question..
There are 10,000 entries in text file which has following format
"name:telephone number:address"
We need to make a program that will read that file and look up the name, telephone number or address from any one of them in O(log n) complexity. So obviously, I'm gonna store each entry in array and sort them and do binary search to look up a particular variable, as it needed to O(logn) in complexity.
Now, my question is should I copy the array to another three arrays, each of them sorted according to three parameters(telephone numbers, names, address) and then perform look up search. Is there any better way of doing it without taking so much space because basically to make program in O(logn) complexity, you are taking 3 times the space as compared to original linear search.
Suggest the best way of doing it. Any help will be appreciated.
Shivam
|
|
|
|
|
as name, number, and address are strings, they wouldn't need to get stored multiple times; all you need to duplicate is pointers/references to them. And with say 250 chars per telephone, you would need less than 10 MB of memory anyway.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
Thank you for the response but this not what I'm trying to ask. So far, I've made a class called telephone with three member variables of String type, those are names, address and telephone number. Then I made array of telephone class of size 10,000. Now this array has randomly distributed telephone entries but I need arrange sorted order according to each three variable, i.e. telephone, name and address so that I could perform binary search.
Let say user enter telephone number then my program will perform binary search on list sorted according to telephone numbers.
If user enter name then my program will perform search on the list which is started according to name and similarly it will do same procedure for address. So basically you need three list, but can you think of any other method of doing this?
Thank you
Shivam
|
|
|
|
|
what I said is this, using your terminology: you make 10,000 Telephone instances, and store each of them in three different arrays, then sort each of these arrays. That is still only 10,0000 Telephones, not 30,000.
as for sorting stuff, there are smarter ways to represent data. Either come up with something yourself, or make use of existing ones, see e.g. the .NET collections.
Finally, as this is homework, you're supposed to do the work yourself.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
Oh, I got it. Thank you very much.
Shivam
|
|
|
|