Author: James Swafford
Date: 06:06:13 03/16/00
Go up one level in this thread
Thanks Dann. Actually, I don't have a modem in it either. :-)
The zero is the protocol, which is specific to the family
(in this case, AF_INET). I think 0 is IP.
--
James
On March 16, 2000 at 03:49:38, Dan Newman wrote:
>On March 15, 2000 at 20:16:16, James Swafford wrote:
>
>>I'm at the point now that I'm ready to set up data
>>exchange between my Windows GUI and linux based
>>console engine.
>>
>>In the GUI, I've called the WSASTARTUP( ) function,
>>and it didn't produce any errors. The socket function
>>refuses to create a SOCKET.
>>
>>Here's the proto for socket():
>>
>>SOCKET socket(int address_family,int connection_type,int protocol);
>>
>>I'm trying to use PF_INET (AF_INET) for the address family,
>>of course. I'd prefer a connection oriented connection,
>>so I'm using SOCK_STREAM next. Regardless of what I try
>>for protocol (TCP, etc.), I get a -1 from WSALASTERROR.
>>
>>I don't have a network adapter in the piece right now, so
>>I'm not sure if that's the problem. Seems to me that I should
>>at least be able to create the socket, just not bind it.
>>
>>Help greatly appreciated.
>>
>>--
>>James
>
>I don't think not having a network adapter should hurt since the
>connection could go out the usual PPP link. But then I've
>always had a network adapter in my computers when doing socket
>programming...
>
>Anyway, I tried this little piece of (C++) code out and it seems to
>work fine on my machine:
>
>/*
> Testing winsock...
>*/
>#include <windows.h>
>#include <stdio.h>
>#include <winsock.h>
>
>int main()
>{
> printf("Initializing WinSock\n");
> WORD vers = MAKEWORD( 1, 1);
> WSADATA wsadata;
> int ret = WSAStartup( vers, &wsadata);
> if( ret != 0 ) {
> printf("Error: couldn't initialize winsock\n");
> return -1;
> }
> if( wsadata.wVersion != vers ) {
> printf("Error: winsock version %d.%d not supported",
> (int)LOBYTE( vers), (int)HIBYTE( vers));
> WSACleanup();
> return -1;
> }
> printf("WinSock initialized\n");
>
> //
> // Create a socket.
> //
> SOCKET sd = socket( AF_INET, SOCK_STREAM, 0);
> if( sd == INVALID_SOCKET ) {
> printf("Failed to create a socket\n");
> WSACleanup();
> return -1;
> }
> printf("Created a socket\n");
>
> // Do something....
>
> closesocket( sd);
> WSACleanup();
> return 0;
>}
>
>The parameters to socket() are the ones that I've always used
>before, so I'm not sure what the zero for the protocol argument
>means...
>
>-Dan.
This page took 0.02 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.