jpm@sauna.cs.hut.fi (Jussi-Pekka Mantere) (11/19/88)
In article <3fb3f279.1285f@maize.engin.umich.edu> David R Falkenburg <falken@caen> writes: < Stuff about developing TCP/IP software on a Mac deleted > > Why not use Apple's new MacTCP product instead of NCSA's code? Has it been released already? I've heard rumours about it, but could you give some details about it? Hopefully - it supports "BSD-style" TCP/IP, - one can program with it using MPW or other enviroments (LightSpeed), - there is an "official" Apple guide concerning TCP/IP... Apparently Kinetics has a similar product out, called "TCPort Toolkit", with BSD 4.3 sockets and a C programming library. >-dave falkenburg Chape -- Jussi-Pekka Mantere jpm@cs.hut.fi Helsinki University of Technology, Finland jpm@finhutcs.bitnet Laboratory of Information Processing Science + 358 0 451 3231
falken@caen.engin.umich.edu (David R Falkenburg) (11/20/88)
In article <17437@santra.UUCP>, jpm@sauna.cs.hut.fi (Jussi-Pekka Mantere) writes: > In article <3fb3f279.1285f@maize.engin.umich.edu> David R Falkenburg > <falken@caen> writes: > < Stuff about developing TCP/IP software on a Mac deleted > > > Why not use Apple's new MacTCP product instead of NCSA's code? > Has it been released already? I've heard rumours about it, but could > you give some details about it? Hopefully > - it supports "BSD-style" TCP/IP, > - one can program with it using MPW or other enviroments (LightSpeed), > - there is an "official" Apple guide concerning TCP/IP... > > Apparently Kinetics has a similar product out, called "TCPort Toolkit", > with BSD 4.3 sockets and a C programming library. > > >-dave falkenburg > > Chape > > -- > Jussi-Pekka Mantere jpm@cs.hut.fi > Helsinki University of Technology, Finland jpm@finhutcs.bitnet > Laboratory of Information Processing Science + 358 0 451 3231 What I know about MacTCP: Apple currently has no plans for berkley sockets ( ^ THIS IS STUPID and we should all let Apple know) It is written in assembly language and Apple will provide support for using it with MPW-based developemnt environments No official books and or documentation has been released to the general public. Kinetics TCPort DOES have a BSD socket library, and is based on the coding done here at university of michigan... -dave "it's all i know for now" falkenburg -- Dave Falkenburg @ University of Michigan Computer Aided Engineering Network ARPA: falken@caen.engin.umich.edu UUCP: umix!caen.engin.umich.edu!falken
brad%cayman@HARVARD.HARVARD.EDU (Brad Parker) (11/21/88)
Dave Falkenburg @ Univ of Michigan Computer Aided Engineering Network says: What I know about MacTCP: Apple currently has no plans for berkley sockets ( ^ THIS IS STUPID and we should all let Apple know) Well, that is certainly one point of view. Another is that the berkeley socket model is not correct for the macintosh environment. I have heard people express that a socket library is needed for the mac; it seems they want to port code which uses sockets. I submit that porting this code using sockets is not a good idea. The mac is not unix and blocking is not a good idea on the mac... The asynchronous nature of networking would suggest that using the mac's async driver calls ("iopb's" as we call them) would work better. You end up with a model which looks much more like so called "upcalls". It would be interesting to hear what John Romkey's (and others) experience with upcalls and blocking were/are on the IBM PC (Romkey authored PC/IP which ported IP/TCP functionality to the IBM PC and led later to MacIP, the first IP on the Mac). But, I am often wrong about these things ;-) -brad
falken@caen.engin.umich.edu (David R Falkenburg) (11/22/88)
In article <8811201926.AA27073@cayman.Cayman.COM>, brad%cayman@HARVARD.HARVARD.EDU (Brad Parker) writes: > > Dave Falkenburg @ Univ of Michigan Computer Aided Engineering Network says: > > What I know about MacTCP: > Apple currently has no plans for berkley sockets > ( ^ THIS IS STUPID and we should all let Apple know) > > Well, that is certainly one point of view. Another is that the berkeley socket > model is not correct for the macintosh environment. > > I have heard people express that a socket library is needed for the mac; it > seems they want to port code which uses sockets. I submit that porting > this code using sockets is not a good idea. The mac is not unix and blocking > is not a good idea on the mac... > > The asynchronous nature of networking would suggest that using the mac's > async driver calls ("iopb's" as we call them) would work better. You end up > with a model which looks much more like so called "upcalls". It would be > interesting to hear what John Romkey's (and others) experience with upcalls > and blocking were/are on the IBM PC (Romkey authored PC/IP which ported IP/TCP > functionality to the IBM PC and led later to MacIP, the first IP on the Mac). > > But, I am often wrong about these things ;-) > > -brad Ever wonder why not everyone understands/programs things which rely on big parameter blocks, etc. on the Mac? Berkely Sockets are the ACCEPTED way of programming for networking applications with as little pain as possible. Ever HAVE to write a usefule ioCompletion routine or DDP SOcket Listener? Apple's alternative would be to provide "high-level" calls which are similar in nature to BSD sockets, but aren't... People want a high level interface for networking, otherwise they won't program for it. -dave falkenburg -- Dave Falkenburg @ University of Michigan Computer Aided Engineering Network ARPA: falken@caen.engin.umich.edu UUCP: umix!caen.engin.umich.edu!falken
amanda@lts.UUCP (Amanda Walker) (11/22/88)
In article <3fcd4c3b.1285f@maize.engin.umich.edu>, falken@caen.engin.umich.edu (David R Falkenburg) writes: > Ever wonder why not everyone understands/programs things which rely on > big parameter blocks, etc. on the Mac? They look big and scary. Seriously. They aren't The Unix (or whatever) Way, and so, like any other aspect of programming the Mac, you can't sit down and immediately start writing code by pretending it's another machine with the routine names spelled differently. For networking in particular, and an event-driven, asynchronous I/O system in general, I find Mac parameter blocks actually *easier* to use. They're certainly better than sockets, and I come from a heavy Unix background to boot... Ever try to teach someone to use sockets without giving them gobs of sample code and hoping they don't want to use OOB data or SIGIO? > Berkely Sockets are the ACCEPTED way of programming for networking > applications with as little pain as possible. Well, that's debateable. Let's say they are the COMMON way, under UNIX. Look, I'm glad the friendly folks at Berkeley did the 4.2 & 4.3 network code. Yeah, it's a little grody, but, by and large, it works. More importantly, it has been widely distributed to serve as a testbed and basis for further development. But just because it has done a good job at this doesn't mean it's The One True Way to do networking, especially on a machine that provides a different suite of basic services. The Mac is not a UNIX box (A/UX aside, and if you're running it, you get sockets...). The Mac doesn't have the cheap multitasking of UNIX, and UNIX doesn't have the cheap asynchronous I/O of the Mac. This difference, among others, is why how networking is done differently. > Ever HAVE to write a useful ioCompletion routine or DDP SOcket Listener? Sure. So? Most competent Macintosh programmers could do it with a little work. And most competent Unix programmers can write basic code using sockets after a little work. All this shows is that the programming environment is consistent on each side. This isn't a bad thing. > Apple's alternative would be to provide "high-level" calls which are similar > in nature to BSD sockets, but aren't... People want a high level interface > for networking, otherwise they won't program for it. Grin. Methinks you mean "I want a high level interface for networking, otherwise I won't program for it." Sure, there's a place for a socket library on the Mac, just as there is a place for a stdio library. But remember that MacTCP is aimed only at OEMs and research projects. It wasn't designed so that Joe Unix User can sit down and port sendmail to it. Personally, I don't think this is a big problem. If you really want sockets, you can use sockets. The CITI TCP/IP drivers are even free for the FTPing. If you want something to incorporate into a Macintosh PRODUCT, however, it's not the way to go, with all due respect to CITI. Answer me this: how much Unix software is out there that would be useful to have ported to the Mac, and where using sockets would be simpler and give better performance than doing things Macintosh style? Making the mac look like UNIX doesn't count--that's what A/UX is for, and good at :-). -- Amanda Walker ...!uunet!lts!amanda / lts!amanda@uunet.uu.net InterCon, 11732 Bowman Green Drive, Reston, VA 22090 -- "The best way to predict the future is to invent it." -- N. Negroponte
beard@ux1.lbl.gov (Patrick C Beard) (11/22/88)
In article <17437@santra.UUCP> Jussi-Pekka Mantere <jpm@cs.hut.fi> writes:
[about TCP/IP code for Mac from Kinetics & Apple]
Just for you information. CITI's MacIP code is available via anonymous
ftp at:
citi.umich.edu
In the directory:
citi-macip/release2.0B2