Click here to Skip to main content
15,887,350 members
Home / Discussions / C#
   

C#

 
AnswerRe: Porting web navigator from VB6 to VS2005 C# Pin
cweeks786818-May-06 8:26
cweeks786818-May-06 8:26 
GeneralRe: Porting web navigator from VB6 to VS2005 C# Pin
cweeks786818-May-06 14:22
cweeks786818-May-06 14:22 
Questionnewbie seeks guidance on how use IDE Pin
wheels4me6-May-06 13:16
wheels4me6-May-06 13:16 
AnswerRe: newbie seeks guidance on how use IDE Pin
led mike6-May-06 13:51
led mike6-May-06 13:51 
AnswerRe: newbie seeks guidance on how use IDE Pin
Josh Smith7-May-06 4:51
Josh Smith7-May-06 4:51 
Questionhow to use progressbar ? Pin
hdv2126-May-06 12:22
hdv2126-May-06 12:22 
AnswerRe: how to use progressbar ? Pin
ekynox6-May-06 14:28
ekynox6-May-06 14:28 
QuestionBeginReceive problem (Sockets question) Pin
tmp06-May-06 10:56
tmp06-May-06 10:56 
Hello all,

I'm trying to build my own very-simple Socket wrapper class. The first class (which I'm trying to do now) is for listening. The most important thing I am trying to implement is OnConnect, Ondisconnect, and OnReceive.

I've done OnConnect and it's working perfectly. But now I've spent alot of time trying to implement the OnReceive method, but I get a strange result!

..
..
..
<br />
		public void listen(int port)<br />
		{<br />
			listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);<br />
			listener.Bind(new IPEndPoint(IPAddress.Any, port));<br />
			listener.Listen(10);<br />
			listener.BeginAccept(new AsyncCallback(myOnConnect), listener);<br />
		}<br />
<br />
		public void myOnConnect(IAsyncResult  ar)<br />
		{<br />
			Socket sock = (Socket)ar.AsyncState;<br />
			OnConnect(myId);<br />
			try<br />
			{<br />
				if (sock.Connected) //the strange this is, this always returns false, thus the code below is not executed. And when I take of the conditional statement, I get an exception!<br />
				{<br />
					AsyncCallback recieveData = new AsyncCallback(myOnReceive);<br />
					sock.BeginReceive(m_byBuff, 0, m_byBuff.Length, SocketFlags.None, recieveData, sock);<br />
				}<br />
			}<br />
			catch(Exception e)<br />
			{<br />
				MessageBox.Show("Err: "+e.ToString());<br />
			}<br />
			listener.BeginAccept(new AsyncCallback(myOnConnect), listener);<br />
		}<br />
<br />
		public void myOnReceive(IAsyncResult ar)<br />
		{<br />
			Socket sock = (Socket)ar.AsyncState;<br />
			try<br />
			{<br />
				int nBytesRec = sock.EndReceive(ar);<br />
				if( nBytesRec > 0 )<br />
				{<br />
					string msg = Encoding.ASCII.GetString(m_byBuff, 0,nBytesRec);<br />
					OnReceive(myId, msg);<br />
					AsyncCallback recieveData = new AsyncCallback(myOnReceive);<br />
					sock.BeginReceive( m_byBuff, 0, m_byBuff.Length, SocketFlags.None, recieveData, sock);<br />
				}<br />
				else<br />
				{<br />
					OnDisconnect(myId);<br />
				}<br />
			}<br />
			catch<br />
			{}<br />
		}<br />

AnswerRe: BeginReceive problem (Sockets question) Pin
led mike6-May-06 13:45
led mike6-May-06 13:45 
AnswerRe: BeginReceive problem (Sockets question) Pin
Shy Agam6-May-06 22:44
Shy Agam6-May-06 22:44 
GeneralRe: BeginReceive problem (Sockets question) Pin
tmp07-May-06 2:53
tmp07-May-06 2:53 
QuestionTime stamp in applications Pin
_tasleem6-May-06 10:49
_tasleem6-May-06 10:49 
AnswerRe: Time stamp in applications Pin
led mike6-May-06 13:33
led mike6-May-06 13:33 
QuestionListBox Event Pin
Sean896-May-06 10:48
Sean896-May-06 10:48 
AnswerRe: ListBox Event Pin
led mike6-May-06 13:30
led mike6-May-06 13:30 
GeneralRe: ListBox Event Pin
Sean896-May-06 17:26
Sean896-May-06 17:26 
QuestionDragDrop() Event Handler assistance needed... Pin
new_phoenix6-May-06 10:33
new_phoenix6-May-06 10:33 
AnswerRe: DragDrop() Event Handler assistance needed... Pin
rudy.net7-May-06 4:11
rudy.net7-May-06 4:11 
Question.m4a Tag Reader Pin
4324235423534253425135143532456-May-06 9:36
4324235423534253425135143532456-May-06 9:36 
Questionwhere can i find ngen.exe? Pin
Susuko6-May-06 8:18
Susuko6-May-06 8:18 
AnswerRe: where can i find ngen.exe? Pin
Ravi Bhavnani6-May-06 9:05
professionalRavi Bhavnani6-May-06 9:05 
GeneralRe: where can i find ngen.exe? Pin
Susuko6-May-06 9:44
Susuko6-May-06 9:44 
GeneralRe: where can i find ngen.exe? Pin
Ravi Bhavnani6-May-06 9:52
professionalRavi Bhavnani6-May-06 9:52 
QuestionConvert a file to stream Pin
QzRz6-May-06 6:42
QzRz6-May-06 6:42 
AnswerRe: Convert a file to stream Pin
DigitalKing6-May-06 6:48
DigitalKing6-May-06 6:48 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.