Problem with identifiers

M

Marty

Hi,

I took this socket listener from the VC++.NET help file. I inserted it
in my project.

What library do I have to include to have those identifier working:
string,
int32,
Byte,
server,
TcpListener,
Console

I'm including those library:
#include <stdlib.h>
#include <string>
#include <winsock2.h>
using namespace std;

but it don't seem to resolve the problem.

My c++ is rusty, but I'll get over it, I just need a little help to pass
through that.

Thank you very much.

Marty



void main() {
try {
// Set the TcpListener on port 13000.
Int32 port = 13000;
IPAddress* localAddr = IPAddress::parse(S"127.0.0.1");

// TcpListener* server = new TcpListener(port);
TcpListener* server = new TcpListener(localAddr, port);

// Start listening for client requests.
server->Start();

// Buffer for reading data
Byte bytes[] = new Byte[256];
String* data = 0;

// Enter the listening loop.
while (true) {
Console::Write(S"Waiting for a connection... ");

// Perform a blocking call to accept requests.
// You could also user server.AcceptSocket() here.
TcpClient* client = server->AcceptTcpClient();
Console::WriteLine(S"Connected!");

data = 0;

// Get a stream Object* for reading and writing
NetworkStream* stream = client->GetStream();

Int32 i;

// Loop to receive all the data sent by the client.
while (i = stream->Read(bytes, 0, bytes->Length)) {
// Translate data bytes to a ASCII String*.
data = Text::Encoding::ASCII->GetString(bytes, 0, i);
Console::WriteLine(String::Format(S"Received: {0}",
data));


// Process the data sent by the client.
data = data->ToUpper();

Byte msg[] = Text::Encoding::ASCII->GetBytes(data);

// Send back a response.
stream->Write(msg, 0, msg->Length);
Console::WriteLine(String::Format(S"Sent: {0}", data));

}

// Shutdown and end connection
client->Close();
}
} catch (SocketException* e) {
Console::WriteLine(S"SocketException: {0}", e);
}

Console::WriteLine(S"\nHit enter to continue...");
Console::Read();
}
 
A

adebaene

Marty said:
Hi,

I took this socket listener from the VC++.NET help file. I inserted it
in my project.

What library do I have to include to have those identifier working:
string,
int32,
Byte,
server,
TcpListener,
Console

I'm including those library:
#include <stdlib.h>
#include <string>
#include <winsock2.h>
using namespace std;

but it don't seem to resolve the problem.

My c++ is rusty, but I'll get over it, I just need a little help to pass
through that.

This code is using .NET classes, therefore you need to use managed
extensions to use it (compile with /clr).

When using managed classes, you don't use #include files, rather you
#use assemblies, then add using namespace statements :
#using <mscorlib.dll>
#using <system.dll>

using namespace System;
using namespace System::Net::Sockets;

you could replace the #using <assembly> statements with /AI compiler
flags.

Arnaud
MVP - VC
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top