For all coding issues - MODers and programmers, HTML and more.
Moderators: Jeff250 , fliptw
Ferno
DBB Commie Anarchist Thug
Posts: 15163 Joined: Fri Nov 20, 1998 3:01 am
Post
by Ferno » Sun Sep 05, 2004 1:11 pm
I'm trying to get this program to compile for a project I'm working on (2nd revision)
Code: Select all
//###########################################################
//my code
// Standard includes
#include <iostream.h>
#include "..\\socketobject\\SocketObject.h"
void vServerConnection( int iListenPort );
void vClientConnection( char *szServerIP, int iServerListenPort );
//
// ----> Main Program Function (REQUIRED or it may screw up)
//
int main( int argc, char *argv[] )
{
if( argc < 3 ) {
cout << "----------------------------------------------------" << endl;
cout << " ConnectionTest Help " << endl;
cout << "----------------------------------------------------" << endl;
cout << "Usage: ConnectionTest [Client/Server] [ip,port/port]" << endl;
cout << "" << endl;
cout << "Example: ConnectionTest client 198,168.0.1 6000" << endl;
cout << "" endl;
cout << "Example: ConnectionTest server 6000" << endl;
cout << "" << endl;
return ( 0 );
}
//---DCRAZY---
// These two lines start up WinSock
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2), &wsaData);
//---END DCRAZY---
//
// If user selected server, listen on the given port
// and assign connection to the second port number
//
if( !stricmp( argv[1], "server" ) )
{
vServerConnection( atoi( argv[2] ) ) );
}
//
// User selected client; connect to given port and IP address
//
else {
vClientConnection( argv[2], atoi( argv[3] ) );
}
WSACleanup();
return( 1 );
}
// Function for server
void vServerConnection( int iListenPort )
{
SocketObject ServerSocketObject;
SocketObject ClientSocketObject;
cout << "<Server> Attempting to listen on Port " << iListenPort << endl;
// Attempt to start the Server on port 6000
if ( ServerSocketObject.Bind( iListenPort ) )
{
cout << "<Server> Listening" << endl;
// Listen for Connection on the Listen port,
ServerSocketObject.Listen();
// Accept the connection
ServerSocketObject.Accept( ClientSocketObject );
cout << "<Server> Client Connected to Port " << iListenPort << endl;
// Disconnect the client
ClientSocketObject.Disconnect();
cout << "<Server> Client Disconnected" << endl;
}
else {
cout << "<Server> Failed to Listen" << endl;
}
}
//Function for Client
void vClientConnection( char *szServerIP, int iServerListenPort )
{
SocketObject ClientSocketObject;
cout << "<Client> Connecting to " << szServerIP << ", Port " << iServerListenPort << endl;
// Connect to thge IP and Port
if( ClientSocketObject.Connect( szServerIP, iServerListenPort ) )
{
cout << "<Client> Connected" << endl;
// Disconnect from the server
ClientSocketObject.Disconnect();
cout << "<Client> Disconnected from the server" << endl;
}
else {
cout << "<Client> Failed to Connect" << endl;
}
}
DCrazy
DBB Alumni
Posts: 8826 Joined: Wed Mar 15, 2000 3:01 am
Location: Seattle
Post
by DCrazy » Sun Sep 05, 2004 2:00 pm
I don't see a Winsock init anywhere to justify your WSACleanup.
Damn, this BB makes reading code impossible.
Ferno
DBB Commie Anarchist Thug
Posts: 15163 Joined: Fri Nov 20, 1998 3:01 am
Post
by Ferno » Sun Sep 05, 2004 2:12 pm
ws2_32.lib has already been linked to the project.
fliptw
DBB DemiGod
Posts: 6459 Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada
Post
by fliptw » Sun Sep 05, 2004 3:34 pm
whats the error, and which version of VC?
Ferno
DBB Commie Anarchist Thug
Posts: 15163 Joined: Fri Nov 20, 1998 3:01 am
Post
by Ferno » Sun Sep 05, 2004 3:48 pm
quite a few.. i'll post the revised code and the error log here after I try Borland.
fliptw
DBB DemiGod
Posts: 6459 Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada
Post
by fliptw » Sun Sep 05, 2004 3:49 pm
do most of them involve endl in some manner?
Ferno
DBB Commie Anarchist Thug
Posts: 15163 Joined: Fri Nov 20, 1998 3:01 am
Post
by Ferno » Sun Sep 05, 2004 3:51 pm
here's the output log:
--------------------Configuration: ConnectionTest - Win32 Debug--------------------
Compiling...
ConnectionTest.cpp
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(23) : error C2146: syntax error : missing ';' before identifier 'endl'
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(23) : warning C4551: function call missing argument list
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(34) : error C2059: syntax error : ')'
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(58) : error C2296: '<<' : illegal, left operand has type 'char [19]'
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(58) : error C2297: '<<' : illegal, right operand has type 'class ostream &(__cdecl *)(class ostream &)'
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(66) : error C2001: newline in constant
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(69) : error C2146: syntax error : missing ';' before identifier 'ClientSocketObject'
Error executing cl.exe.
ConnectionTest.exe - 6 error(s), 1 warning(s)
Lothar
DBB Ghost Admin
Posts: 12133 Joined: Thu Nov 05, 1998 12:01 pm
Location: I'm so glad to be home
Contact:
Post
by Lothar » Sun Sep 05, 2004 4:14 pm
Code: Select all
if ( ServerSocketObject.Bind( iListenPort ) )
{
cout < "<Server> Listening" << endl;
There should be two less-than's after the cout statement. It's trying to get the return value from the cout, and the string on the right, and see which is larger. I think this accounts for:
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(23) : error C2146: syntax error : missing ';' before identifier 'endl'
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(23) : warning C4551: function call missing argument list
Code: Select all
cout << "<Server> Client Connected to Port : << iListenPort << endl;
You forgot to put an ending " in.
Clean these two up, and it should be easier to figure out what else is going on.
Ferno
DBB Commie Anarchist Thug
Posts: 15163 Joined: Fri Nov 20, 1998 3:01 am
Post
by Ferno » Sun Sep 05, 2004 4:27 pm
Lothar.. can you jump on AIM?
EDIT: revised error log:
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(23) : error C2146: syntax error : missing ';' before identifier 'endl'
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(23) : warning C4551: function call missing argument list
D:\JDS PROGRAMS\ConnectionTest\ConnectionTest.cpp(43) : error C2059: syntax error : ')'
Lothar
DBB Ghost Admin
Posts: 12133 Joined: Thu Nov 05, 1998 12:01 pm
Location: I'm so glad to be home
Contact:
Post
by Lothar » Sun Sep 05, 2004 4:43 pm
done...
OK, folks, move along now... nothing to see here... move along.