Socket Programming
Socket Programming
import java.net.*;
Socket
ServerSocket
DatagramSocket
DatagramPacket
InetAddress x = InetAddress.getByName(
“localhost”);
Throws UnknownHostException
InetAddress
InetAddress aa == InetAddress.getByName(hostname);
InetAddress.getByName(hostname);
System.out.println(hostname
System.out.println(hostname ++ ":"
":" ++
a.getHostAddress());
a.getHostAddress());
}} catch
catch (UnknownHostException
(UnknownHostException e)
e) {{
System.out.println("No
System.out.println("No address
address found
found for
for "" ++
hostname);
hostname);
}}
ServerSocket(int port);
void close();
InetAddress getInetAddress();
int getLocalPort();
inFromUser
input
input (inFromUser stream) , stream
inFromServer
client reads, prints modified
outToServer
output input
stream stream
line from socket
(inFromServer stream) client TCP
clientSocket
socket TCP
socket
write reply to
connectionSocket read reply from
clientSocket
close
connectionSocket close
clientSocket
Java Socket Programming 17
TCPClient.java
import java.io.*;
import java.net.*;
class TCPClient {
public static void main(String argv[]) throws Exception
{
String sentence;
String modifiedSentence;
BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));
DataOutputStream outToServer =
new DataOutputStream(clientSocket.getOutputStream());
TCPClient.java
BufferedReader inFromServer =
new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
sentence = inFromUser.readLine();
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromServer.readLine();
clientSocket.close();
}
}
while(true) {
InputStreamReader(connectionSocket.getInputStream()));
TCPServer.java
DataOutputStream outToClient =
new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
outToClient.writeBytes(capitalizedSentence);
}
}
}
DatagramSocket(int port);
void close();
Lots more!
For sending:
InetAddress getAddress();
int getPort();
inFromUser
input
stream
Client
Process
Input: receives
process
packet (TCP
received “byte
Output: sends
stream”)
packet (TCP sent
receivePacket
sendPacket
“byte stream”) UDP UDP
packet packet
client UDP
clientSocket
socket UDP
socket
write reply to
serverSocket
specifying client read reply from
host address, clientSocket
port umber close
clientSocket
clientSocket.close();
}
}
class UDPServer {
public static void main(String args[]) throws Exception
{
DatagramSocket serverSocket = new
DatagramSocket(9876);
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
while(true)
{
DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String(receivePacket.getData());
UDPServer.java
}
}
}