Re: SE on Linux
Posted in 2000
"Art S. Kagel" wrote: > > David Stes wrote: > > > > The point seems to be that the hostname for seipcpip must be what is > > returned by uname. If it gives the fully qualified domain name, then the > > sqlhosts must also contain the FQDN for seipcpip. > > > > In the case of sesoctcp on the other hand the loopback address also works > > for me (but not for seipcpip!). > > > > Still it is not clear to me what you mean by "IP style connection" made > > through the pipe or named pipe. IP has nothing to do with all this. > > No it does not. But Informix is coding using network style code, setting > up a UNIX domain Socket (class AF_UNIX), rather than managing the pipe > manually. That's fine, and it certainly makes sense (Postgres also gives you the option between sockets/domain sockets for remote/local). However in the case of a domain socket I'd expect it (=sqlhosts) to let you specify the pathname to be assigned to the socket rather than a tcp port number. I suspect it would call socket() to create a unix domain stream socket, then bind to some representation in the filesystem perhaps, the well-known "name" (= filename) of the server, then connect() to that pathname in the case of the client or listen()/accept() on it in the case of the server. But all this does not require a tcp port number or hostname, as specified in sqlhosts. I suspect that the fact seipcpip requires a hostname is really something enforced by the informix parser of sqlhosts rather than by the coding of AF_UNIX unix domain stream sockets. Actually, if you say it is calling getservbyname() then that would explain why you have to fill in a tcp service name in the field on the line of seipcpip. However, I think / would expect , that in the case of seipcpip it doesn't need to call getservbyname(). I mean, the answer cannot be "because it's calling getservbyname() on that entry" because then the question would be "why is it calling getservbyname()" ?? This is not a criticism of SE. I _love_ Informix SE and I'm glad I found out about getting seipcpip to work, but I still wonder why it enforces the FQDN as hostname and the tcp service name.