|
You need to give some info on symptoms of the issues, not just give a code dump saying 'this doesn't work, please fix it for me'.
My advice? Well debug it dear Liza, dear Liza...
|
|
|
|
|
try
{
try
{
}
catch
{
some exception caught here...
}
}
catch
{
how i skip above catch block and get exception in this block...
}
modified 23-Jan-13 13:08pm.
|
|
|
|
|
Have the first catch use throw.
|
|
|
|
|
if you would show in code that would be more helpful.
thanks
|
|
|
|
|
Which is why I won't -- please read some documentation.
|
|
|
|
|
try
{
try
{
throw new Exception();
}
catch(Exception exception)
{
throw;
}
}
catch(Exception exception2)
{
}
Note: You can also avoid catching the exception by putting a more specific type in the first catch (like IOException instead of Exception).
|
|
|
|
|
|
Hey folks!! Hope you can help me with my client code.
Först I debugg the Server wich is an consoleapplication and the server starts, secondly I debugg the Client, I put a nickname value to the nickNameTextBox and click on Connect (button2) the compiler stops at this code line
serverStream.Write(outStream, 0, outStream.Length);
It says that the objectreference has not given an instans of a object!!
Note!!!! The code is working fine with VS 2008 but Im currently trying to work with it on VS 2010 but it wont run like it should
This is the Client
using System.Windows.Forms;
using System.Net.Sockets;
using System.Threading;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();
NetworkStream serverStream = default(NetworkStream);
string readData = null;
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
byte[] outStream = System.Text.Encoding.ASCII.GetBytes(nickNameTextBox.Text + "$");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
}
private void button1_Click(object sender, EventArgs e)
{
readData = "Conected to Chat Server ...";
msg();
clientSocket.Connect("127.0.0.1", 8888);
serverStream = clientSocket.GetStream();
byte[] outStream = System.Text.Encoding.ASCII.GetBytes(sendTextBox.Text + "$");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
Thread ctThread = new Thread(getMessage);
ctThread.Start();
}
private void getMessage()
{
while (true)
{
serverStream = clientSocket.GetStream();
int buffSize = 0;
byte[] inStream = new byte[10025];
buffSize = clientSocket.ReceiveBufferSize;
serverStream.Read(inStream, 0, buffSize);
string returndata = System.Text.Encoding.ASCII.GetString(inStream);
readData = "" + returndata;
msg();
}
}
private void msg()
{
if (this.InvokeRequired)
this.Invoke(new MethodInvoker(msg));
else
loggTextBox.Text = loggTextBox.Text + Environment.NewLine + " >> " + readData;
}
|
|
|
|
|
Why have you commented out the lines
from the button 2 handler - unless you have pressed Button1 first, the connection has not been established and it will likely throw an exception - probably the one you are complaining about.
Personally, I would have a "Connect" method, which checked if you are connected and does so if not - and call it from both click events. (I would probably also make it return the stream instead of using a class level variable directly in the two event handlers).
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
|
|
|
|
|
I put back the
clientSocket.Connect("127.0.0.1", 8888);
serverStream = clientSocket.GetStream(); and it worked it connects now but the problem is with the button1 which send the text to the server, it stops at this line
clientSocket.Connect("127.0.0.1", 8888);
|
|
|
|
|
That's why I suggested that you had a routine which checked if you were connected - you don't need (or want) to connect if you are connected already!
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
|
|
|
|
|
Hope Im not requestion to much but would you like to write that if-statemant?
|
|
|
|
|
I dunno - it's soooo difficult....
if (!clientSocket.Connected)
{
...
}
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
|
|
|
|
|
I changed it to
private void button1_Click(object sender, EventArgs e)
{
if (serverStream == null)
{
MessageBox.Show("Please connect to a server.");
return;
}
readData = "Conected to Chat Server ...";
msg();
clientSocket.Connect("127.0.0.1", 8888);
serverStream = clientSocket.GetStream();
byte[] outStream = System.Text.Encoding.ASCII.GetBytes(sendTextBox.Text + "$");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
Thread ctThread = new Thread(getMessage);
ctThread.Start();
}
But still the same
|
|
|
|
|
Well yes - what did you expect.
The logic I suggested is not what you did:
if (not connected)
connect
TalkToServer What you did was
if (not connected)
Complain
else
{
connect
TalkToServer
}
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
|
|
|
|
|
Thank you mate I appreciate your help, I changed it to this code,
the reason I commented out
because the compiler stops there when I debugg telling me that a socket is already connected, now the compiler runs withour errors but the server consoleAppplication doesn't receive any msg at all when I send it from sendTextBox..
private void button1_Click(object sender, EventArgs e)
{
if (serverStream == null)
{
MessageBox.Show("Please connect to a server.");
return;
}
else
{
readData = "Conected to Chat Server ...";
msg();
serverStream = clientSocket.GetStream();
byte[] outStream = System.Text.Encoding.ASCII.GetBytes(sendTextBox.Text + "$");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
Thread ctThread = new Thread(getMessage);
ctThread.Start();
}
}
The compiler stops on this code under the getMessage method
serverStream.Read(inStream, 0, buffSize);
|
|
|
|
|
Skytten wrote: The compiler stops on this code under the getMessage method
The compiler? What error message does it give?
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
|
|
|
|
|
"Failed to read data from the transport connection: An existing connection was forced to close by the remote host." It havens because I closed the Server... Anyway this project is driving me crazy man I can't see why it's not working and the Server doesn't get and show the string on the server prompt from the Client
|
|
|
|
|
I am going to write a C# 2010 application as a console application to start with. Eventually I will change the application to compile as a windows application so I do not get the dos pop windows. When this application goes into production, it will be executed by a windows scheduler. My question is the best way to pass parameters to this application.
Thus can you show me the following:
1. Code on how to accept values from parameters?
2. When the application runs as an executable, can you show me in code how to pass the values to this executable?
|
|
|
|
|
How to access command line parameters[^]. To execute a program with parameters you use a command line of the form:
program_name parameter1 parameter2 "a string parameter with spaces" parametr4 ...
|
|
|
|
|
There are several articles on here regarding parsing command line parameters. Here's one of the more recent ones:
Implementing command execution in a console application[^]
However, I caution you against expecting a Scheduled Task to be able to run a Windows application or anything that needs user interaction.
|
|
|
|
|
I would suggest that you are also likely to need a way to report on failures. So you might want to investigate that as well.
|
|
|
|
|
I see the others have you given you plenty to read regarding the parsing of parameters, so I will just add that it would be best to do ONLY the parsing of parameters and possibly writing of the help text in the Console application and put all actual program logic in a dll. That way you can plug any interface you want into your app: console window, windows UI, WPF, Web Service or whatever.
|
|
|
|
|
In a C# 2008 desktop application, I want to be able to check for a directory folder existing in a specified location. The directory path will look like C:\\main_folder\mm_yyyy. The mm_yyyy stands for the month and year.
Thus can you should be code on how to check if a folder actually exists?
|
|
|
|
|