|
hai there,
in my project i need to read all ip address which is avilable in my local network. after that i need to control the host machine(remote desktop sharing).Appart that i need to read some data from that the host machine hold.
is it possible to read the ip table which is avilable in server from a client machine ?
sreejith
hai, feel free to contact
Sreejith SS Nair
|
|
|
|
|
sreejith ss nair wrote:
read the ip table which is avilable in server
|
|
|
|
|
what you mean by that
|
|
|
|
|
sreejith ss nair wrote:
read all ip address which is avilable in my local network
Your going to have to ping and scan the ports of each IP address in your network to build this table.
sreejith ss nair wrote:
control the host machine(remote desktop sharing).
A LARGE project ... You will need to have a server on the target machine that can show your client app the desktop image and push in mouse and keyboard clicks. This server will also have to have some file transfer capabilities.
sreejith ss nair wrote:
is it possible to read the ip table which is avilable in server from a client machine
What server? No machine keeps track of used IP addresses. Unless, of course, it's a DHCP server, and even then, a machine can use an IP address that the server did not dole out to it.
Is it worth the thousands of dollars your going to invest in writing this thing or is the money better spent on an off-the-shelf package with the same capabilities?
RageInTheMachine9532
|
|
|
|
|
Hi,
I'm trying to run an insert statement continously for 24 hrs, data is coming from different Ip/PORT (100). Could somebody please help me by checking my codes if there's any way I can do to improved my locking so that I'll not be able to get the message below. Before the execution of insert is done another thread is getting the adapter that's why the current insert always fails.
CODE:
DBCommand = new SqlCommand(strInsert,DBConnect);
Monitor.Exit(DBCommand);
try
{
if (DBConnect.State.ToString() == "Closed")
{DBConnect.Open();}
DEBUG.PRINT("BEFORE EXECUTE:" + straddr);
DBCommand.ExecuteNonQuery();
DEBUG.PRINT("AFTER EXECUTE:" + straddr);
DBCommand.Dispose();
DBCommand.Connection.Close();
DBConnect.Close();
Monitor.Exit(DBCommand);
}
TRACE DATA FOR CLEARER INFORMATION:
BEFORE EXECUTE: 172.30.57.125:21307
INSERT ERROR1 172.30.98.249:20417==? insert into rop values
System.InvalidOperationException: There is already an open DataReader associated with this Connection which must be closed first.
at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean executing)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at ossrop.Services.ossAdminService.SaveToSQLDB(String strFile, String strOpt, String straddr)
AFTER EXECUTE: 172.30.57.125:21307
|
|
|
|
|
Define your SQL connection as a static instance, this will allow u to check whether its open or not in a threadsafe manner (without having to resort to locks).
|
|
|
|
|
Don't resort to static methods to solve a problem that's pretty simple as leppie suggests. I mean, it may be a good way to go, but to use it simply to paint-over a small problem isn't a good way to fix anything. That's shoddy programming and will bite you in the ars at some point more than likely.
Instead of using DBConnect.State.ToString for a case-sensitive string comparison (not a good idea), use bitwise operators to determine if the connection is closed, something like this:
if ((DBConnect.State & ConnectionState.Closed) != 0) return; Several enumeration members can be set at once (this could always be true when an enumeration is attributed with the FlagsAttribute ) so you need to mask any values and see if they're set.
For instance, ConnectionState.Closed = 0, and ConnectionState.Broken = 16. These could both be set at the same time.
0 = 00000000
16 = 00010000 If both were set, the State property would be set to 16, or 00010000. If you use a bitwise AND to mask Closed , then it looks like this:
State = 00010000
Closed = 00000000
& = 00000000 = 0 Without AND'ing it, the result is 16 which does not equal 0.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Health,
Thank you, I got your point. That's why i'm having messages that connection is already open even though I already closed it or the other way.
Anyway, Thank guys for all your help. I was able to fix my problem by using the Monitor class. It's under System.Threading. I locked the connection before executing the insert statement and then unlock unlock it once it's done. In that case the succeeding insert will not be able to get the 1st connection until it's release.
for other guys who will have the same problem.
CODE:
DBCommand = new SqlCommand(strInsert,DBConnect);
Monitor.Enter(DBConnect);
try
{
if (DBConnect.State.ToString() == "Closed")
{
DBConnect.Open();
}
DBCommand.ExecuteNonQuery();
DBCommand.Connection.Close();
DBConnect.Close();
Monitor.Exit(DBConnect);
}
catch (Exception objerr)
{
System.Diagnostics.EventLog.WriteEntry("ossrop", "Insert Failed : " + objerr.Message);
}
PS: If you have comments with my solution, feel free to modify it so that other people whill read this email in the future will get the correct solution.
|
|
|
|
|
Yes, I do have a comment: you aren't using the Monitor correctly. If an exception is thrown, your Monitor is never signalled and your app will handle on the next request to lock the monitor!
Instead, use the lock statement like so:
lock (DBConnect)
{
} ...which, FYI, gets compiled as:
Monitor.Enter(DBConnect);
try
{
}
finally
{
Monitor.Exit(DBConnect);
} See the difference? If an exception occurs, no matter what the monitor is signalled and any exception is either handled within any nested catch blocks, or is passed up the caller stack.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
as above, I'm importing function from unrar.dll but I'm stucked in converting this..... thanks
|
|
|
|
|
|
|
Hi,
How to use "Custom actions" to run a SQL script in a file named aa.sql?
Thanks a lot!!
Alan
|
|
|
|
|
I don't know if this is best way , if you want to create database and its data and objects in your user machine,attach your database files to your project and copy it to user machine , then use sp_attach_db and run it from your application with ADO.NET classes to attach them to your server.
Mazy
"I think that only daring speculation can lead us further and not accumulation of facts." - Albert Einstein
|
|
|
|
|
Another way which I found it now is run osql utility and pass file name to it. See SQLServer Online Book for in frmation about it.
Mazy
"I think that only daring speculation can lead us further and not accumulation of facts." - Albert Einstein
|
|
|
|
|
Mazy:
Thank you very much for your solution,
but is it possible that I can use the "Custom Action" to run the SQL Script when I create the setup project(just like run some Exe files). I got some information from an article and it said it is ok to do so. but I don't know how. would you please tell me how to do it.
Thanks a lot!!
Alan Shen
|
|
|
|
|
It is possible, but there's many problems that may arise from doing this. For instance, osql.exe is only installed on a machine with SQL Server or MSDE installed. In your case, this may not be a problem, but it's something you must consider. Also, the executed might not even be in the PATH environment variable, so simply calling it won't work.
See the article, See the MSDE Deployment Toolkit in Action[^] on MSDN for a discussion about different ways about using Installer classes, if not using the tookit itself.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi everyone,
I have been writing a new c# custom control and i was wondering when you specify properties, how do you change them to things like True/False, Text etc.
I was also wondering if it was possible to disable properties somehow.
I have this code for one property:
<br />
[Bindable(true), Category("Colours"),<br />
Description("Changes the colour on the left hand side of the button")]<br />
<br />
public Color LeftColour<br />
{<br />
get { return m_color1; }<br />
set { m_color1 = value; Invalidate(); }<br />
}<br />
Which would of course let you change a color, and add a description, but how could i go about changing the type to text or something, or disable it ?
Thanks for any replies
|
|
|
|
|
Have a look at TypeConvertor's.
There is a wealth of info in/on MSDN describing custom controls.
|
|
|
|
|
I want to read serial number of drive (flopy cd or spec drive)
i think there is a api for this but i dont know ,
please help me
Regards Amir jalaly
|
|
|
|
|
|
i want to connect tow computer with modem and send information throw tel line without internet .
may be i must intialize connect and something else...
please help me
Regards amir jalaly
|
|
|
|
|
how can connect tow computer with modem . i mean send information in tel line without internet.
i need intialize connection and send file .
Regards' Amir jalaly
|
|
|
|
|
Hey!
I have a little problem, in datagrids there are always a empty row at the bottom.. how can i get this to dissapear? i heard that it can be done by setting the whole datagrid to readonly.. but that doesnt work since i have a column that has to be writable.. i just don't want the user to be able to write a "new" row.. anyone that can help?
|
|
|
|
|
You have to set AllowNew to false on the underlying DataView:
CurrencyManager cm = (CurrencyManager)myGrid.BindingContext<br />
[myGrid.DataSource, myGrid.DataMember];<br />
((DataView)cm.List).AllowNew = false;
|
|
|
|