Client Server in J2ME (Socket Programming sample)
By David Hemphill Viewed: 31842 times Emailed: 210 times Printed: 222 times
Sockets are different than datagrams because they use a connection-based paradigm to transmit data. This means that both a sender and a receiver must be running and establish a communication channel for data to be exchanged. To use a real-world analogy, a socket connection is like calling a friend on the telephone. If the friend does not answer, a conversation cannot take place. Datagrams on the other hand are more like sending a letter to a friend, where a note is placed into an envelope, addressed, and mailed.
The following code demonstrates how to set up a listener to monitor a port for an inbound socket connection.
try
{
ServerSocketConnection ssc = (ServerSocketConnection)
Connector.open("socket://:9002");
StreamConnection sc = null;
InputStream is = null;
try{
sc = ssc.acceptAndOpen();
is = sc.openInputStream();
int ch = 0;
StringBuffer sb = new StringBuffer();
while ((ch = is.read()) != -1){
sb.append((char)ch);
}
System.out.println(sb.toString());
} finally{
ssc.close();
sc.close();
is.close();
}
} catch (IOException x) {
x.printStackTrace();
}
In this example a ServerSocketConnection is opened on
port 9002. This type of connection is used for sole purpose of listening for an
inbound socket connection. The code goes into a wait state when the acceptAndOpen()
method is called. When a socket connection is established, the acceptAndOpen()
method returns with an instance of a SocketConnection.
Opening an input stream on this connection allows data to be read from the
transmission.
The next example demonstrates the code required by the client to initiate the socket connection.
try{
SocketConnection sc = (SocketConnection)
Connector.open("socket://localhost:9002");
OutputStream os = null;
try{
os = sc.openOutputStream();
byte[] data = "Hello from a socket!".getBytes();
os.write(data);
} finally{
sc.close();
os.close();
}
} catch (IOException x){
x.printStackTrace();
}
In this example a SocketConnection is established on
port 9002 of the local machine. When using sockets, this is the point on the
server side that the acceptAndOpen() method returns. If
the connection is successfully opened, the OutputStream
is obtained and a message is written to the stream. Note that because sockets
are connection based, if there is no server listening for an incoming socket
connection an exception will be thrown.Comments(16)
| 1. | not satisfied friend. for Socket class it asks to import java.net in J2ME |
| 2. | Hi Gaurav, The sample in this tutorial is just a code snippet (NOT THE COMPLETE MIDLET). Therefore you should import the required packages when you add this snippet into your midlet. |
| 3. | How make comunication between client and server, sending mensage between them ?????? |
| 4. | pls give me code for exact communication between client and server |
| 5. | Thanks friend this code will really help me |
| 6. | plz can u give me code for key excange b/n pda & apache server. |
| 7. | i am developing a video streaming pc server to j2me client system that the j2me player can playing video from pc server using wifi |
| 8. | pls can any one have any idea about storing the call, means :when the sender press the button call and start speak it must be recorded in the buffer of mobile and the receiver listen to the call from the memory . |
| 9. | Hay can you send me complete code to make connection between server and client please...? |
| 10. | Hey this code is very helpful......can you please give some idea ...how to use an outputstream data from client app to some inputstream at server app. |
| 11. | Please send the complete code.. thanks! |
| 12. | Hi! |
| 13. | Hi I need code examples J2ME for chating aplication. thank's . . |
| 14. | i am developing a video streaming PC server to j2me client system that the j2me player can playing video from PC server |
| 15. | Thank ... for idea But |
| 16. | This is starting program for me in j2me.This will be very useful for me in my project thank you.. |
Latest Tutorials
More Latest News
Most Viewed Articles (in last 30 days)

