Name: accept

Type: command

Syntax: accept [datagram] connections on port <portNumber> with message <callbackMessage> 

Summary: Accepts an internet connection and creates a <socket> for that connection.

Introduced: 1.0

OS: mac,windows,linux,iOS,android

Platforms: desktop,server,web,mobile

Security: network

Example:
accept connections on port 80 with message "connectionMade"

Example:
accept datagram connections on port 80 with message "connectionMade"

Example:
on mouseUp
   accept connections on port 80 with message "connectionMade"
end mouseUp

on connectionMade pIPAddress
   put "Connection made:" && pIPAddress
end connectionMade

Parameters:
callbackMessage: The name of a message to be sent when a connection is made or a datagram is received.
portNumber: The TCP port number on which to accept connections.

Description:
Use the <accept> <command> when running a <server>, to accept <TCP> connections or <UDP> <datagram|datagrams> from other systems (or other <process|processes> on the same system).
Use the datagram option if you want to accept UDP datagrams.

When a connection is made or a datagram is received, the <accept> <command> creates a new <socket> that can be used to communicate with the other system (or <process>). When using the <close socket>, <read from socket>, or <write to socket> <command|commands>, you can refer to this <socket> with a socket identifier that looks like this:
host:port[|connectionID]
where the connectionID is a number assigned by the <accept> <command>. (You only need to specify the connection number if there is more than one <socket> connected to a particular <port> and <host>.)

The <callbackMessage> is sent to the <object> whose <script> contains the <accept> <command>. Either one or two <parameter|parameters> are sent with this <message>. The first <parameter> is the <IP address> of the system or <process> making the connection. If a <datagram> is being accepted, the second <parameter> is the contents of the <datagram>.

For technical information about sockets, see RFC 147 at http://www.ietf.org/rfc/rfc147.txt.
For technical information about UDP datagrams, see RFC 768 at http://www.ietf.org/rfc/rfc0768.txt.
For technical information about the numbers used to designate standard ports, see the list of port numbers at http://www.iana.org/assignments/port-numbers, in particular the section entitled "Well Known Port Numbers".

References: HTTPProxy (property), script (property), read from socket (command), write to socket (command), close socket (command), open socket (command), openSockets (function), hostAddressToName (function), hostName (function), hostAddress (function), peerAddress (function), hostNameToAddress (function), datagram (glossary), IP address (glossary), TCP (glossary), port (glossary), command (glossary), socket (glossary), UDP (glossary), host (glossary), server (glossary), message (glossary), parameter (glossary), process (glossary), object (object)

Tags: networking
