Message-ID: <32D1847D.637E@rangenet.com> Date: Mon, 06 Jan 1997 17:02:21 -0600 From: Dan Hedlund Reply-To: markiv AT rangenet DOT com Organization: Range Net MIME-Version: 1.0 To: "Alexander V. Lukyanov" , djgpp AT delorie DOT com Subject: Re: WinSock in Dos with WIn95 References: <199701061847 DOT VAA12140 AT video DOT yars DOT free DOT net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Alexander V. Lukyanov wrote: > > > I don't know, I have to get connect and accept to work first. Do you > > know where I can find any information on wsock.vxd? > > I know little about winsock, but I programmed for unix sockets. > Can the problem with connect / accept be caused by reversed byte > order in port number? It is needed to use htons(port) as > the part of sockaddr. For this reason my own program worked > on Sparc (most significant byte first) bye did not on ix86. I'm used 0x0100007f. This address worked fine when I called bind(). The wsock vxd doesn't have a htons function. It has the following functions: Working Failed Not tested * Error 0xffff ACCEPT * BIND * CLOSESOCKET * Error 0xffff CONNECT * GETPEERNAME * GETSOCKNAME * GETSOCKOPT * IOCTLSOCKET * LISTEN * RECV * SELECT_SETUP * SELECT_CLEANUP * ASYNC_SELECT * SEND * SETSOCKOPT * SHUTDOWN * SOCKET * CREATE * CREATE_MULTIPLE * DESTROY * DESTROY_BY_SOCKET * DESTROY_BY_THREAD * SIGNAL * SIGNAL_ALL * CONTROL * REGISTER_POSTMSG * ARECV * ASEND When connecting, I first called Socket, then Connect. I tried binding if before connect, but it didn't make any difference. When accepting, I called Socket, Bind, Listen, then Accept. Also, after I connect to my ISP, bind worked when I gave it my correct INET address. It didn't work when I gave it a dummy address. After I tried connecting, I called getpeername, and it returned with an error, but it did fill in the inet address corectly. I've tried connecting to my ISP's http and ftp servers, and to a http server running on my computer using 127.0.0.1. Do you know anyone who has the Win95 DDK? I think it might have some information about wsock.vxd. The information I've gotten is from wsock.inc, a winsock refrence, and disassembling the vxd. Thanks, Dan