ciao!!
ho un problema di comunicazione tra un socket-server fatto in VC++ e un client fatto in C#.
scrivo qua perchè penso che il problema sia più client
molto banali entrambi.
questo il server:
codice:
UINT Server::initConnection() {
	cout << "SERVER STARTED. PRESS ENTER EXIT" << endl;
	WSADATA wsaData;
    sockaddr_in local;
	sockaddr_in from;
	int wsaret = WSAStartup(0x101, &wsaData);
	int fromlen = sizeof(from);

	if(wsaret != 0)
    {
        return 0;
    }

    local.sin_family = AF_INET; // ADDRESS FAMILY
    local.sin_addr.s_addr = INADDR_ANY; // WILD CARD IP ADDRESS
    local.sin_port = htons((u_short) 20248); // PORT
    server = socket(AF_INET, SOCK_STREAM, 0);

    if (server == INVALID_SOCKET)
	{
        return 0;
    }

    if (bind(server, (sockaddr*) & local, sizeof (local)) != 0)
	{
        return 0;
    }

    if (listen(server, 10) != 0)
	{
        return 0;
    }

    while(true)
    {
        char temp[512];
        inAscolto = accept(server, (struct sockaddr*) &from, &fromlen);
        sprintf_s(temp, "YOUR IP IS:  %s", inet_ntoa(from.sin_addr));
        send(inAscolto, temp, strlen(temp), 0);
        cout << "CONNECTION FROM " << inet_ntoa(from.sin_addr) << endl;
    }

}
questo il client:
codice:
        public void socketConnection()
        {
            Socket socketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socketClient.Connect("localhost", 20248);
        }
in pratica, se mi connetto al server tramite telnet ricevo il messaggio, e quindi posso supporre che funzioni.
mentre se mi connetto in C# nn ricevo nulla e il programma esce subito senza errori.
secondo voi dove sto sbagliando???