getOutputStream()
method returns an OutputStream
which writes data to the socket. You can use all the normal methods
of the OutputStream
class you learned about in Week 10 to read this data.
Most of the time you'll want to chain the raw OutputStream
to
some other output stream or writer class to more easily handle the data.
For example, the following program connects to the discard server
on port 9 of metalab.unc.edu, and sends it data read from
System.in
.
byte[] b = new byte[128];
try {
Socket s = new Socket("metalab.unc.edu", 9);
OutputStream out = s.getOutputStream();
while (true) {
int n = System.in.available();
if (n > b.length) n = b.length;
int m = System.in.read(b, 0, n);
if (m == -1) break;
out.write(b, 0, n);
}
s.close();
}
catch (IOException e) {
}