Click here to Skip to main content
15,913,854 members
Home / Discussions / C#
   

C#

 
GeneralRe: How to avoid menu on RMouse button Pin
A.Wegierski21-Nov-03 17:44
A.Wegierski21-Nov-03 17:44 
GeneralRe: How to avoid menu on RMouse button Pin
Heath Stewart22-Nov-03 11:14
protectorHeath Stewart22-Nov-03 11:14 
GeneralBlobbing Pin
MitchDG20-Nov-03 20:15
MitchDG20-Nov-03 20:15 
GeneralRe: Blobbing Pin
MitchDG20-Nov-03 21:43
MitchDG20-Nov-03 21:43 
Generalsocket listening error Pin
jtmtv1820-Nov-03 17:21
jtmtv1820-Nov-03 17:21 
GeneralRe: socket listening error Pin
Ronny Andersson21-Nov-03 1:12
Ronny Andersson21-Nov-03 1:12 
GeneralRe: socket listening error Pin
jtmtv1821-Nov-03 8:08
jtmtv1821-Nov-03 8:08 
GeneralRe: socket listening error Pin
Ronny Andersson22-Nov-03 1:41
Ronny Andersson22-Nov-03 1:41 
I wrote a small test prog this morning just for fun. It is a very primitive
and small webserver it only sends a greeting back to the webbrowser.
Try it out locally on your machine with a webbrowser, then try it out
with between two machines. Try changing the port from 80 to something else
(I marked the line in red bold in the code) and try calling it again
if it doesn't work I agree with you it might be a firewall problem.
I've only got one PC at home so I cannot test it between two PCs.
God Luck
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace TestSocket
{
    class MiniWebServer
    {	
        public static void OnAcceptConnection(IAsyncResult ar)
        {
            Socket serverSock = (Socket)ar.AsyncState;
            Socket clientSocket = serverSock.EndAccept(ar);
            try
            {
                serverSock.BeginAccept(new AsyncCallback(MiniWebServer.OnAcceptConnection),serverSock);
                ClientStateObject cso = new ClientStateObject();
                cso.worksocket = clientSocket;
                clientSocket.BeginReceive(cso.buffer, 0, 256, SocketFlags.None, 
                new AsyncCallback(MiniWebServer.OnDataReceived), cso);
            }
            catch(Exception e)
            {
                serverSock.Close();
                Console.WriteLine(e.ToString());
            }
        }

        public static void OnDataReceived(IAsyncResult ar)
        {
            ClientStateObject cso = (ClientStateObject)ar.AsyncState;
            try
            {
                int read = cso.worksocket.EndReceive(ar);
                Console.WriteLine(Encoding.ASCII.GetString(cso.buffer,0,read).ToString());
                if(read == 256)
                {
                    cso.worksocket.BeginReceive(cso.buffer,0,256,SocketFlags.None,
                        new AsyncCallback(MiniWebServer.OnDataReceived), cso);
                }
                else
                {
                    cso.buffer = Encoding.ASCII.GetBytes("<html><body>Hello from the MiniWebServer</body></html>");
                    cso.worksocket.BeginSend(cso.buffer, 0, cso.buffer.Length, SocketFlags.None, 
                    new AsyncCallback(OnDataSent), cso);
                }
            }
            catch(Exception e)
            {
                cso.worksocket.Close();
                Console.WriteLine(e.ToString());
            }
       }

       public static void OnDataSent(IAsyncResult ar)
       {
           ClientStateObject cso = (ClientStateObject)ar.AsyncState;
           try
           {
               int sent = cso.worksocket.EndSend(ar);
           }
           catch(Exception e)
           {
               Console.WriteLine(e.ToString());
           }
           finally
           {
               cso.worksocket.Close();
           }
        }

        [STAThread]
        static void Main(string[] args)
        {
            Socket serverSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            <code>IPEndPoint endPoint = new IPEndPoint(0,80);</code>
            serverSock.Bind(endPoint);
            serverSock.Listen(1000);

            serverSock.BeginAccept(new AsyncCallback(MiniWebServer.OnAcceptConnection),serverSock);
            Console.ReadLine();
        }

        private class ClientStateObject
        {
            public Socket worksocket;
            public byte[] buffer = new byte[256];
        }
    }
}


Ronny Andersson
www.codelive.com
GeneralRe: socket listening error Pin
jtmtv1822-Nov-03 3:02
jtmtv1822-Nov-03 3:02 
GeneralRe: socket listening error Pin
jtmtv1822-Nov-03 3:10
jtmtv1822-Nov-03 3:10 
QuestionDeserializing in a different assembly... how to? Pin
Carl Mercier20-Nov-03 16:15
Carl Mercier20-Nov-03 16:15 
AnswerRe: Deserializing in a different assembly... how to? Pin
Heath Stewart21-Nov-03 4:03
protectorHeath Stewart21-Nov-03 4:03 
GeneralRe: Deserializing in a different assembly... how to? Pin
Carl Mercier21-Nov-03 4:08
Carl Mercier21-Nov-03 4:08 
GeneralRe: Deserializing in a different assembly... how to? Pin
Heath Stewart21-Nov-03 5:35
protectorHeath Stewart21-Nov-03 5:35 
GeneralRe: Deserializing in a different assembly... how to? Pin
Carl Mercier21-Nov-03 5:40
Carl Mercier21-Nov-03 5:40 
GeneralRe: Deserializing in a different assembly... how to? Pin
Heath Stewart21-Nov-03 6:37
protectorHeath Stewart21-Nov-03 6:37 
GeneralRe: Deserializing in a different assembly... how to? Pin
Carl Mercier21-Nov-03 18:27
Carl Mercier21-Nov-03 18:27 
GeneralRe: Deserializing in a different assembly... how to? Pin
Heath Stewart22-Nov-03 11:18
protectorHeath Stewart22-Nov-03 11:18 
GeneralRe: Deserializing in a different assembly... how to? Pin
gokselm23-Nov-03 8:35
gokselm23-Nov-03 8:35 
GeneralRe: Deserializing in a different assembly... how to? Pin
Heath Stewart24-Nov-03 4:30
protectorHeath Stewart24-Nov-03 4:30 
GeneralRe: Deserializing in a different assembly... how to? Pin
gokselm24-Nov-03 8:44
gokselm24-Nov-03 8:44 
GeneralRe: Deserializing in a different assembly... how to? Pin
Heath Stewart24-Nov-03 9:43
protectorHeath Stewart24-Nov-03 9:43 
GeneralMysterious vanishing tooltips... Pin
ToddTTT20-Nov-03 15:30
ToddTTT20-Nov-03 15:30 
GeneralRe: Mysterious vanishing tooltips... Pin
Heath Stewart21-Nov-03 4:04
protectorHeath Stewart21-Nov-03 4:04 
GeneralC# and Crystal Reports Viewer Pin
trevleyb20-Nov-03 13:45
trevleyb20-Nov-03 13:45 

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.