T
TulasiKumar
Hi all,
What is my requirement is i want to get the TCPIP data from TCP Port.I had
written the code in c#.Net.What i had written the code is pasted below.what
i written the code is correct or not according to my requirement.Using this
code i didn't get any TCPIP pcakects data.Any one can modify my code or my
way of approach is wrong,please tell me.
Your suggestions ar kindly accepted.
Thanks in advance.
public class TcpData
{
private TcpListener tcpListener;
private int Port;
private string UrlStr;
// private StringCollection quotes;
// private Random random;
private Thread listenerThread;
private TcpClient tcpClient;
private NetworkStream netStream;
public TcpData()
{
//
// TODO: Add constructor logic here
//
}
public TcpData(String Url,int port)
{
this.UrlStr=Url;
this.Port=port;
}
public void Start()
{
try
{
listenerThread=new Thread(new ThreadStart(this.Listener));
listenerThread.Start();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
protected void Listener()
{
try
{
FileInfo fs=new FileInfo("StreamData.txt");
StreamWriter swr=new StreamWriter("StreamData.txt",true);
IPAddress ipAddress=Dns.Resolve(UrlStr).AddressList[0];
tcpListener=new TcpListener(ipAddress,Port);
tcpListener.Start();
while(true)
{
tcpClient=tcpListener.AcceptTcpClient();
netStream=tcpClient.GetStream();
if(netStream.CanRead)
{
// Reads NetworkStream into a byte buffer.
byte[] bytes = new byte[tcpClient.ReceiveBufferSize];
// Read can return anything from 0 to numBytesToRead.
// This method blocks until at least one byte is read.
netStream.Read (bytes, 0, (int)tcpClient.ReceiveBufferSize);
// Returns the data received from the host to the console.
string returndata = Encoding.UTF8.GetString (bytes);
Console.WriteLine ("This is what the host returned to you: " +
returndata);
swr.WriteLine(returndata);
}
else
{
Console.WriteLine ("You cannot read data from this stream.");
tcpClient.Close ();
// Closing the tcpClient instance does not close the network stream.
//return;
}
netStream.Close ();
swr.Flush();
swr.Close();
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public void Stop()
{
tcpListener.Stop();
}
public void Resume()
{
listenerThread.Resume();
}
public void Suspend()
{
listenerThread.Suspend();
}
Regards,
TulasiKumar
What is my requirement is i want to get the TCPIP data from TCP Port.I had
written the code in c#.Net.What i had written the code is pasted below.what
i written the code is correct or not according to my requirement.Using this
code i didn't get any TCPIP pcakects data.Any one can modify my code or my
way of approach is wrong,please tell me.
Your suggestions ar kindly accepted.
Thanks in advance.
public class TcpData
{
private TcpListener tcpListener;
private int Port;
private string UrlStr;
// private StringCollection quotes;
// private Random random;
private Thread listenerThread;
private TcpClient tcpClient;
private NetworkStream netStream;
public TcpData()
{
//
// TODO: Add constructor logic here
//
}
public TcpData(String Url,int port)
{
this.UrlStr=Url;
this.Port=port;
}
public void Start()
{
try
{
listenerThread=new Thread(new ThreadStart(this.Listener));
listenerThread.Start();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
protected void Listener()
{
try
{
FileInfo fs=new FileInfo("StreamData.txt");
StreamWriter swr=new StreamWriter("StreamData.txt",true);
IPAddress ipAddress=Dns.Resolve(UrlStr).AddressList[0];
tcpListener=new TcpListener(ipAddress,Port);
tcpListener.Start();
while(true)
{
tcpClient=tcpListener.AcceptTcpClient();
netStream=tcpClient.GetStream();
if(netStream.CanRead)
{
// Reads NetworkStream into a byte buffer.
byte[] bytes = new byte[tcpClient.ReceiveBufferSize];
// Read can return anything from 0 to numBytesToRead.
// This method blocks until at least one byte is read.
netStream.Read (bytes, 0, (int)tcpClient.ReceiveBufferSize);
// Returns the data received from the host to the console.
string returndata = Encoding.UTF8.GetString (bytes);
Console.WriteLine ("This is what the host returned to you: " +
returndata);
swr.WriteLine(returndata);
}
else
{
Console.WriteLine ("You cannot read data from this stream.");
tcpClient.Close ();
// Closing the tcpClient instance does not close the network stream.
//return;
}
netStream.Close ();
swr.Flush();
swr.Close();
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public void Stop()
{
tcpListener.Stop();
}
public void Resume()
{
listenerThread.Resume();
}
public void Suspend()
{
listenerThread.Suspend();
}
Regards,
TulasiKumar