Re: Newcomer's CAsyncSocket example: trouble connecting with other clients
"stephen park" <steebu@gmail.com> wrote in message
news:75b2e779-afa0-4f50-bac6-ec675be9fd11@a2g2000prd.googlegroups.com...
Can you only connect to his server app by using CAsyncSocket?
Of course not! It would be a very poor server if the client also had to use
CAsyncSocket! :-)
My current little bit of learning is to write a .net console app using
TcpClient to connect to it and send a message, but the message isn't
going through. The server shows a socket has been attached, but no
message gets sent, and then the socket disconnects with a message
?.?.?.? [?] Closed
OK, yes, I realize that this is an MFC group, but I'm also
unsuccessful writing an mfc console app that uses CSocket. Well,
anyway, here's the .net version:
Console::WriteLine( "Sending message" );
TcpClient^ client = gcnew TcpClient( IP, PORT );
NetworkStream ^stream = client->GetStream();
String^ msg = "hello there";
array<Byte>^data = Text::Encoding::ASCII->GetBytes( msg );
try {
stream->Write( data, 0, data->Length );
stream->Flush();
}
catch( Exception ^e) {
Console::WriteLine( e->StackTrace );
}
client->Close();
Nothing really seems to jump out at me, but maybe someone else can see
something?
Congratulations on discovering C++/CLI to experiment with .NET. Coming from
native C++, it's much easier to grasp than C#. I used it as a stepping
stone to C#.
Anyway, are you sure the server is getting a connection? I don't see how
because you never call TcpClient::Connect(). And you don't specify the IP
or port of the server either. (I believe the IP/port you specify in the
TcpClient::TcpClient() is the client endpoint (you give the IP address
assigned to your network card and the desired port you want to send out
of ).
-- David