Sockets and URLs 26-Jul-16

advertisement
Sockets and URLs
26-Jul-16
Sockets

A socket is a low-level software device for connecting
two computers together


Sockets can also be used to connect two programs running on
the same computer
There are two kinds of sockets:


A Socket is a client socket, and initiates the communication
A ServerSocket waits for a request; it then


May perform the requested action
May return a result to the requester
2
Socket constructors

Socket(InetAddress address, int port)


ServerSocket(int port)


Creates a stream socket and connects it to the specified
port number at the specified IP address
Creates a server socket on the specified port, with a
default queue length of 50
The actual work, for both kinds of sockets, is done
by an instance of the SocketImpl class
3
Some Socket methods

getInputStream()


getOutputStream()


Returns an input stream for this socket
Returns an output stream for this socket
close()

Closes this socket
4
Some ServerSocket methods

accept()




Listens for a connection to be made to this socket and
accepts it
Returns a Socket as its result
For input, use the getInputStream() and
getOutputStream() methods on the returned
Socket
close()

Closes this socket
5
Socket fields

protected InetAddress address


protected FileDescriptor fd


The file descriptor object for this socket
protected int localport


The IP address of the remote end of this socket
The local port number to which this socket is connected
protected int port

The port number on the remote host to which this socket is connected
6
URLs


A URL is a Uniform Resource Locator, typically a Web
address
Some constructors:

URL(String spec)


URL(String protocol, String host, int port, String file)



Creates a URL object from the information in the String
Creates a URL object from the specified protocol, host, port number,
and file
The host may be localhost, to indicate “this machine”
URL(String protocol, String host, String file)

Same as above, but uses the default port for this protocol
7
Some URL methods

openStream()


openConnection()


Opens a connection to this URL and returns an InputStream
for reading from that connection
Returns a URLConnection object that represents a
connection to the remote object referred to by the URL
getProtocol(), getHost(), getPort(), getFile(),
getQuery()
8
Using a URLConnection

The steps in using a URLConnection are:


Use openConnection() to create the URLConnection object
Set the parameters as desired:



setAllowUserInteraction, setDoInput, setDoOutput,
setIfModifiedSince, setUseCaches, setRequestProperty
Use the connect method to make the actual connection
Use the remote object
9
Some URLConnection methods

getHeaderField(int n)


getHeaderField(String name)


Returns the key for the nth header field
getInputStream()


Returns the value of the named header field
getHeaderFieldKey(int n)


Returns the value for the nth header field
Returns an input stream that reads from this open connection
getOutputStream()

Returns an output stream that writes to this connection
10
The End
11
Download