lanin@csd2.NYU.EDU (Vladimir Lanin) (12/13/89)
Dear NetLanders, I'd like to know what the prevailing opinions are on products that allow running DOS programs in the background (or in a window). The names that come to my feeble mind are Desqview, Microsoft Windows, DoubleDos, Topview (?), and, of course, OS/2. There may, of course, be other (and hopefully better) ones. For example, I know that PD/shareware of this kind exists, but the name(s) escape me. Some of the things I'd like to know about each are: . How buggy is it? . What percentage of the common DOS software does it work with well? . How wastefully slow is it? . Can it run ordinary DOS programs in extended RAM? . Does it work with an 8088 or 80286? . Does it take advantage of 80386 added functionality? Please e-mail your kind responses to me, and I will summarize to the net. Vladimir Lanin lanin@csd2.nyu.edu ...!cmcl2!csd2!lanin Relay-Version: version nyu B notes v1.6 9/18/89; site acf4.NYU.EDU From: meth@csd2.NYU.EDU (Asher Meth) Date: 12 Dec 89 17:31 EST Date-Received: 12 Dec 89 17:31 EST Subject: TCP/IP question Message-ID: <2240001@csd2.NYU.EDU> Path: acf4!csd2!meth Newsgroups: comp.unix.386ix Posting-Version: version nyu B notes v1.6 5/10/89; site csd2.NYU.EDU Organization: New York University Re: TCP/IP questions I am to implement a TCP/IP connection between my 3 machines running Interactive UNIX 386/ix. The machines will be sending messages back & forth to each other. The actual end result desired is that all messages are passed to all machines, to update databases stored in their entirety on each machine. The purpose of this level of redundancy & duplication is to ensure that all the info is currently available, even if all machines but one are down for some reason. We are currently running 386/ix version 2.0.1, with TCP/IP 1.1.1. When I get a chance, assuming that the disks are OK, I will upgrade to 2.0.2 and TCP/IP 1.1.2. There is no connection to the outside world, just these 3 machines tied together as a network. The machines are 386 based machines: HP RS/20 Vectras; the ethernet cards are Western Digital EtherCard Plus connected with thin ethernet cabling. I have read the following: (1) Internetworking with TCP/IP, by Douglas Comer (relevant chapters, esp 12, and Appendix 1). (2) Relevant sections in the 386/ix TCP/IP Guide, section entitled Programmer's Supplement. (3) AT&T's UNIX System V/386 Network Programmer's Guide, published by Prentice Hall. At this point, I am sort of confused and could use a little help in sorting out all the material that I have read. We would like to set up 2 models - connection and connection-less mode - with server & clients. I have been working on the connection mode model at present. ----------------------------------------------- I find the following a little strange and confusing: There are 2 sections in the manual describing functions that are very similar, yet one is section (3i) and the other is section (3N). Section (3i) contains functions such as accept, bind, connect, listen, recv, send, and socket. These entries appear only in the Interactive TCP/IP Guide. Section (3N) has corresponding functions t_accept, t_alloc, t_bind, t_close, t_connect, t_listen, t_rcv, t_rcvdis, t_rcvrel, t_snd[dis | rel]. These entries appear only in the AT&T Programmer's Reference Manual. Why are there 2 sets of parallel commands ? Do they implement different protocols ? ----------------------------------------------- Book (3) from AT&T does not mention sockets at all; just transport connection endpoints. It uses only calls that are prefixed with a t_ . The book has a complete example for client & server. I tried it as is, and got an error on the server side when trying to bind an address to the already established transport endpoint, vis., if (t_bind(listen_fd, bind, bind) < 0) ... The error generated is a system error - invalid argument. I cannot figure out which part of the bind structure (defined as struct t_bind *bind) it is complaining about. The file descripter argument is OK; I tried giving it garbage in this entry and it complained. ----------------------------------------------- Book (1), Comer's general info book, in Appendix 1, discusses sockets, creating them, binding local address to a socket, connecting sockets to destination addresses, sending & receiving data, etc. ----------------------------------------------- Book (2), the Interactive manual, is most confusing. In the section entitled Programmer's Supplement, they describe two sets of interfaces - section 2 describes Transport Layer Interface; section 3 describes Socket Interface. Are these intended to be two different & necessary interfaces ? Or are their applications different ? Perhaps they are describing the same thing from a different vantage point ? The TLI section's example uses t_ functions (from manual section (3N)), and refers the programmer to section 3 for appropriate values to be used for some variable names not mentioned here. The code is similar to that in the AT&T book (3), but has changes in parts of the variable "bind". In the referred to section 3, we are discussing sockets ! We lose the t_ functions and call plain bind, connect, etc. functions (from manual section (3i)). As a minor point in this section - the call to socket takes as a 3rd argument a number (from /etc/protocols) corresponding to the particular protocol that we wish to use with this socket. The examples just set this value to 0, indicating IP. Do I want this, or do I want TCP, whose number is 6 - as properly returned by a call to getprotobyname("tcp") ? ----------------------------------------------- I am beginning to believe that I am to follow the paradigm as in Comer's book (1), and section 3 of Interactive's guide (book (2)) - of using only sockets with the function calls from manual section (3i). Is there, perhaps another reference that has a working example of a server & client setup - ie, some complete documentation, that has been tested & works ? Or maybe someone out there in net-land has implemented the server-client example and would be willing to send me their working code ? ----------------------------------------------- Thanking you all in advance for any help that you can offer, Asher Meth meth@csd2.nyu.edu meth@nyu-csd2.arpa Relay-Version: version nyu B notes v1.6 9/18/89; site acf4.NYU.EDU From: meth@csd2.NYU.EDU (Asher Meth) Date: 13 Dec 89 17:11 EST Date-Received: 13 Dec 89 17:11 EST Subject: TCP/IP questions Message-ID: <2600001@csd2.NYU.EDU> Path: acf4!csd2!meth Newsgroups: comp.unix.i386 Posting-Version: version nyu B notes v1.6 5/10/89; site csd2.NYU.EDU Organization: New York University Re: TCP/IP questions I am to implement a TCP/IP connection between my 3 machines running Interactive UNIX 386/ix. The machines will be sending messages back & forth to each other. The actual end result desired is that all messages are passed to all machines, to update databases stored in their entirety on each machine. The purpose of this level of redundancy & duplication is to ensure that all the info is currently available, even if all machines but one are down for some reason. We are currently running 386/ix version 2.0.1, with TCP/IP 1.1.1. When I get a chance, assuming that the disks are OK, I will upgrade to 2.0.2 and TCP/IP 1.1.2. There is no connection to the outside world, just these 3 machines tied together as a network. The machines are 386 based machines: HP RS/20 Vectras; the ethernet cards are Western Digital EtherCard Plus connected with thin ethernet cabling. I have read the following: (1) Internetworking with TCP/IP, by Douglas Comer (relevant chapters, esp 12, and Appendix 1). (2) Relevant sections in the 386/ix TCP/IP Guide, section entitled Programmer's Supplement. (3) AT&T's UNIX System V/386 Network Programmer's Guide, published by Prentice Hall. At this point, I am sort of confused and could use a little help in sorting out all the material that I have read. We would like to set up 2 models - connection and connection-less mode - with server & clients. I have been working on the connection mode model at present. ----------------------------------------------- I find the following a little strange and confusing: There are 2 sections in the manual describing functions that are very similar, yet one is section (3i) and the other is section (3N). Section (3i) contains functions such as accept, bind, connect, listen, recv, send, and socket. These entries appear only in the Interactive TCP/IP Guide. Section (3N) has corresponding functions t_accept, t_alloc, t_bind, t_close, t_connect, t_listen, t_rcv, t_rcvdis, t_rcvrel, t_snd[dis | rel]. These entries appear only in the AT&T Programmer's Reference Manual. Why are there 2 sets of parallel commands ? Do they implement different protocols ? ----------------------------------------------- Book (3) from AT&T does not mention sockets at all; just transport connection endpoints. It uses only calls that are prefixed with a t_ . The book has a complete example for client & server. I tried it as is, and got an error on the server side when trying to bind an address to the already established transport endpoint, vis., if (t_bind(listen_fd, bind, bind) < 0) ... The error generated is a system error - invalid argument. I cannot figure out which part of the bind structure (defined as struct t_bind *bind) it is complaining about. The file descripter argument is OK; I tried giving it garbage in this entry and it complained. ----------------------------------------------- Book (1), Comer's general info book, in Appendix 1, discusses sockets, creating them, binding local address to a socket, connecting sockets to destination addresses, sending & receiving data, etc. ----------------------------------------------- Book (2), the Interactive manual, is most confusing. In the section entitled Programmer's Supplement, they describe two sets of interfaces - section 2 describes Transport Layer Interface; section 3 describes Socket Interface. Are these intended to be two different & necessary interfaces ? Or are their applications different ? Perhaps they are describing the same thing from a different vantage point ? The TLI section's example uses t_ functions (from manual section (3N)), and refers the programmer to section 3 for appropriate values to be used for some variable names not mentioned here. The code is similar to that in the AT&T book (3), but has changes in parts of the variable "bind". In the referred to section 3, we are discussing sockets ! We lose the t_ functions and call plain bind, connect, etc. functions (from manual section (3i)). As a minor point in this section - the call to socket takes as a 3rd argument a number (from /etc/protocols) corresponding to the particular protocol that we wish to use with this socket. The examples just set this value to 0, indicating IP. Do I want this, or do I want TCP, whose number is 6 - as properly returned by a call to getprotobyname("tcp") ? ----------------------------------------------- I am beginning to believe that I am to follow the paradigm as in Comer's book (1), and section 3 of Interactive's guide (book (2)) - of using only sockets with the function calls from manual section (3i). Is there, perhaps another reference that has a working example of a server & client setup - ie, some complete documentation, that has been tested & works ? Or maybe someone out there in net-land has implemented the server-client example and would be willing to send me their working code ? ----------------------------------------------- Thanking you all in advance for any help that you can offer, Asher Meth meth@csd2.nyu.edu meth@nyu-csd2.arpa