OpenTcp man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



     Tcl_OpenTcpClient(3)	 Tcl (8.0)	  Tcl_OpenTcpClient(3)

     _________________________________________________________________

     NAME
	  Tcl_OpenTcpClient, Tcl_MakeTcpClientChannel,
	  Tcl_OpenTcpServer - procedures to open channels using TCP
	  sockets

     SYNOPSIS
	  #include <tcl.h>

	  Tcl_Channel
	  Tcl_OpenTcpClient(interp, port, host, myaddr, myport, async)

	  Tcl_Channel
	  Tcl_MakeTcpClientChannel(sock)

	  Tcl_Channel
	  Tcl_OpenTcpServer(interp, port, myaddr, proc, clientData)

     ARGUMENTS
	  Tcl_Interp	    *interp	       (in)	 Tcl
							 interpreter
							 to use for
							 error
							 reporting.
							 If non-NULL
							 and an error
							 occurs, an
							 error message
							 is left in
							 interp-
							 >result.

	  int		    port	       (in)	 A port number
							 to connect to
							 as a client
							 or to listen
							 on as a
							 server.

	  char		    *host	       (in)	 A string
							 specifying a
							 host name or
							 address for
							 the remote
							 end of the
							 connection.

	  int		    myport	       (in)	 A port number
							 for the
							 client's end

     Page 1					     (printed 2/19/99)

     Tcl_OpenTcpClient(3)	 Tcl (8.0)	  Tcl_OpenTcpClient(3)

							 of the
							 socket.  If
							 0, a port
							 number is
							 allocated at
							 random.

	  char		    *myaddr	       (in)	 A string
							 specifying
							 the host name
							 or address
							 for network
							 interface to
							 use for the
							 local end of
							 the
							 connection.
							 If NULL, a
							 default
							 interface is
							 chosen.

	  int		    async	       (in)	 If nonzero,
							 the client
							 socket is
							 connected
							 asynchronously
							 to the
							 server.

	  ClientData	    sock	       (in)	 Platform-
							 specific
							 handle for
							 client TCP
							 socket.

	  Tcl_TcpAcceptProc *proc	       (in)	 Pointer to a
							 procedure to
							 invoke each
							 time a new
							 connection is
							 accepted via
							 the socket.

	  ClientData	    clientData	       (in)	 Arbitrary
							 one-word
							 value to pass
							 to proc.
     _________________________________________________________________

     DESCRIPTION

     Page 2					     (printed 2/19/99)

     Tcl_OpenTcpClient(3)	 Tcl (8.0)	  Tcl_OpenTcpClient(3)

	  These functions are convenience procedures for creating
	  channels that communicate over TCP sockets.  The operations
	  on a channel are described in the manual entry for
	  Tcl_OpenFileChannel.

     TCL_OPENTCPCLIENT
	  Tcl_OpenTcpClient opens a client TCP socket connected to a
	  port on a specific host, and returns a channel that can be
	  used to communicate with the server. The host to connect to
	  can be specified either as a domain name style name (e.g.
	  www.sunlabs.com), or as a string containing the alphanumeric
	  representation of its four-byte address (e.g.	 127.0.0.1).
	  Use the string localhost to connect to a TCP socket on the
	  host on which the function is invoked.

	  The myaddr and myport arguments allow a client to specify an
	  address for the local end of the connection.	If myaddr is
	  NULL, then an interface is chosen automatically by the
	  operating system.  If myport is 0, then a port number is
	  chosen at random by the operating system.

	  If async is zero, the call to Tcl_OpenTcpClient returns only
	  after the client socket has either successfully connected to
	  the server, or the attempted connection has failed.  If
	  async is nonzero the socket is connected asynchronously and
	  the returned channel may not yet be connected to the server
	  when the call to Tcl_OpenTcpClient returns. If the channel
	  is in blocking mode and an input or output operation is done
	  on the channel before the connection is completed or fails,
	  that operation will wait until the connection either
	  completes successfully or fails. If the channel is in
	  nonblocking mode, the input or output operation will return
	  immediately and a subsequent call to Tcl_InputBlocked on the
	  channel will return nonzero.

	  The returned channel is opened for reading and writing.  If
	  an error occurs in opening the socket, Tcl_OpenTcpClient
	  returns NULL and records a POSIX error code that can be
	  retrieved with Tcl_GetErrno.	In addition, if interp is
	  non-NULL, an error message is left in interp->result.

	  The newly created channel is not registered in the supplied
	  interpreter; to register it, use Tcl_RegisterChannel.	 If
	  one of the standard channels, stdin, stdout or stderr was
	  previously closed, the act of creating the new channel also
	  assigns it as a replacement for the standard channel.

     TCL_MAKETCPCLIENTCHANNEL
	  Tcl_MakeTcpClientChannel creates a Tcl_Channel around an
	  existing, platform specific, handle for a client TCP socket.

     Page 3					     (printed 2/19/99)

     Tcl_OpenTcpClient(3)	 Tcl (8.0)	  Tcl_OpenTcpClient(3)

	  The newly created channel is not registered in the supplied
	  interpreter; to register it, use Tcl_RegisterChannel.	 If
	  one of the standard channels, stdin, stdout or stderr was
	  previously closed, the act of creating the new channel also
	  assigns it as a replacement for the standard channel.

     TCL_OPENTCPSERVER
	  Tcl_OpenTcpServer opens a TCP socket on the local host on a
	  specified port and uses the Tcl event mechanism to accept
	  requests from clients to connect to it.  The myaddr argument
	  specifies the network interface.  If myaddr is NULL the
	  special address INADDR_ANY should be used to allow
	  connections from any network interface.  Each time a client
	  connects to this socket, Tcl creates a channel for the new
	  connection and invokes proc with information about the
	  channel.  Proc must match the following prototype:
	       typedef void Tcl_TcpAcceptProc(
		 ClientData clientData,
		 Tcl_Channel channel,
		 char *hostName,
		 int port);

	  The clientData argument will be the same as the clientData
	  argument to Tcl_OpenTcpServer, channel will be the handle
	  for the new channel, hostName points to a string containing
	  the name of the client host making the connection, and port
	  will contain the client's port number.  The new channel is
	  opened for both input and output. If proc raises an error,
	  the connection is closed automatically.  Proc has no return
	  value, but if it wishes to reject the connection it can
	  close channel.

	  Tcl_OpenTcpServer normally returns a pointer to a channel
	  representing the server socket.  If an error occurs,
	  Tcl_OpenTcpServer returns NULL and records a POSIX error
	  code that can be retrieved with Tcl_GetErrno.	 In addition,
	  if interp->result is non-NULL, an error message is left in
	  interp->result.

	  The channel returned by Tcl_OpenTcpServer cannot be used for
	  either input or output.  It is simply a handle for the
	  socket used to accept connections.  The caller can close the
	  channel to shut down the server and disallow further
	  connections from new clients.

	  TCP server channels operate correctly only in applications
	  that dispatch events through Tcl_DoOneEvent or through Tcl
	  commands such as vwait; otherwise Tcl will never notice that
	  a connection request from a remote client is pending.

	  The newly created channel is not registered in the supplied

     Page 4					     (printed 2/19/99)

     Tcl_OpenTcpClient(3)	 Tcl (8.0)	  Tcl_OpenTcpClient(3)

	  interpreter; to register it, use Tcl_RegisterChannel.	 If
	  one of the standard channels, stdin, stdout or stderr was
	  previously closed, the act of creating the new channel also
	  assigns it as a replacement for the standard channel.

     PLATFORM ISSUES							|
	  On Unix platforms, the socket handle is a Unix file		|
	  descriptor as returned by the socket system call.  On the	|
	  Windows platform, the socket handle is a SOCKET as defined	|
	  in the WinSock API.  On the Macintosh platform, the socket	|
	  handle is a StreamPtr.

     SEE ALSO
	  Tcl_OpenFileChannel(3), Tcl_RegisterChannel(3), vwait(n)

     KEYWORDS
	  client, server, TCP

     Page 5					     (printed 2/19/99)

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net