Class IncomingConnection
An incoming request from another device that wants to connect, delivered
to TransportListener.connectionRequested(IncomingConnection).
Named IncomingConnection rather than the obvious ConnectionRequest
because com.codename1.io.ConnectionRequest is one of the most widely used
classes in the framework, and an app doing both networking and nearby
transport -- which is most of them -- would have had to qualify one of the
two at every mention.
Answer it with accept() or reject(). A request that is never
answered times out on the far side, so answer every one -- and answer it
promptly, because both platforms hold radio resources open meanwhile.
Show the token
getAuthenticationToken() is a short string both devices compute from
the connection, and it is the only defense against a device in the middle
pretending to be the one the user meant. Showing it on both screens and
asking "do these match?" is what makes the pairing trustworthy; skipping
that step is a choice to trust whoever answered first.
-
Method Details
-
getEndpoint
Who is asking. -
getAuthenticationToken
The short string both devices derive from this connection's key exchange. Identical on both sides when nothing is in the middle.
Never null, and empty on iOS: MultipeerConnectivity offers no material to bind a token to, and inventing one from the service name and display names would produce matching digits at both ends of a relay. Treat empty as "this platform cannot answer the question".
-
isAnswered
-
accept
public void accept()Accepts the connection. The result arrives asTransportListener.connected(Endpoint)orTransportListener.connectionFailed(Endpoint, NearbyException), because the far side has to accept too. Calling this twice, or afterreject(), does nothing. -
reject
public void reject()Rejects the connection. Calling this twice, or afteraccept(), does nothing. -
toString
Description copied from class:ObjectReturns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method. The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of: getClass().getName() + '@' + Integer.toHexString(hashCode())
-