Client Server in J2ME (Socket Programming sample)
By: David Hemphill
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. Archived Comments
1. Hey there would you mind letting me know which
hosting company you're working with? I've loa
View Tutorial By: ________ _______ _ _______ ______ at 2017-04-24 22:19:32
2. javax.microedition.io.ConnectionNotFoundException: TCP open
at com.sun.midp.io.j2me.socket.P
View Tutorial By: yellaiah at 2014-12-27 05:18:52
3. Hi I am developing a code for data transfer from client to sever using wifi LAN network ,i was suc
View Tutorial By: Rajavel at 2014-03-21 14:17:54
4. Can you all stop begging for code and start learning on your own! He gave you enough information for
View Tutorial By: Vlad at 2012-02-24 12:49:45
5. Hii,,,i have a java server socket program and i want to make a request to my server by using gprs in
View Tutorial By: prawinmasthan at 2012-01-13 08:38:35
6. hi , i want info about how find/reterive latitude,longitude,imei number for respective mobile and ho
View Tutorial By: jafar at 2011-09-26 06:54:58
7. i am developing a video streaming PC server to j2me client system that the j2me player can playing v
View Tutorial By: Jamsiya at 2011-08-11 05:07:01
8. i am developing a video streaming PC server to j2me client system that the j2me player can playing v
View Tutorial By: Jamsiya at 2011-08-11 05:02:46
9. Hi,
The code runs fine on my emulator even when I use an IP address instead of the Localhost.
View Tutorial By: Ramin at 2011-07-07 07:23:45
10. Hi, Please let me know how to implement this program successfully, do i need to create two separate
View Tutorial By: Mukul Chadha at 2011-06-29 09:13:28
11. Hi, Please let me know how to implement this program successfylly. do i need to create to two separa
View Tutorial By: Mukul Chadha at 2011-06-29 09:08:29
12. Thanks man it is very very helpfull for me.
Thanks alot
View Tutorial By: qasim azam at 2011-06-15 18:09:35
13. hi any one can send me the code for HTTPclient program..
i want to connected to the internet
View Tutorial By: indela at 2011-06-13 08:41:12
14. thanx allot its a very good sample , but im trying to test it on 2 different devices .. i cant conne
View Tutorial By: Waleed Qaffaf at 2011-06-09 09:37:15
15. this code is very usefull but unfortunately, i have this message errror, could you help me please:
View Tutorial By: imenish at 2011-03-24 15:32:43
16. Hi , instead of using localhost. I am using a mobile phone as a client and want to communicate to my
View Tutorial By: ashish at 2011-02-28 05:05:49
17. Hi, i am new in j2me programming pls give me some idea for creating application, send code to follow
View Tutorial By: Javed at 2011-02-01 08:47:50
18. Hi , instead of using localhost. I am using a mobile phone as a client and want to communicate to my
View Tutorial By: vimal at 2010-12-02 01:44:40
19. A precise one. This is how I would like to see examples. Yours is straight to the point.
View Tutorial By: Guna at 2010-10-14 03:24:34
20. This is starting program for me in j2me.This will be very useful for me in my project thank you..
View Tutorial By: Surya at 2010-07-26 03:29:47
21. Thank ... for idea But
i m confuse how run my application on my mobile ..
My applicat
View Tutorial By: Tanaji at 2010-06-01 23:13:19
22. i am developing a video streaming PC server to j2me client system that the j2me player can playing v
View Tutorial By: lama at 2010-04-17 01:27:27
23. OMG lazy people.
View Tutorial By: Luis at 2010-04-13 09:39:09
24. Hi I need code examples J2ME for chating aplication. thank's . .
View Tutorial By: agus at 2010-04-03 04:16:11
25. Hi!
I would like to send a string from a j2me application to a PC. If somebody can send me sa
View Tutorial By: beetlebrain at 2010-03-26 06:02:00
26. Please send the complete code.. thanks!
View Tutorial By: Roger22 at 2010-03-11 00:41:07
27. Hey this code is very helpful......can you please give some idea ...how to use an outputstream data
View Tutorial By: Preetam Purbia at 2010-03-01 04:25:47
28. Hay can you send me complete code to make connection between server and client please...?
I a
View Tutorial By: 9COOL at 2010-02-22 08:10:47
29. pls can any one have any idea about storing the call, means :when the sender press the button call a
View Tutorial By: souhir at 2010-01-30 11:04:48
30. i am developing a video streaming pc server to j2me client system that the j2me player can playing v
View Tutorial By: ziathegreat at 2009-05-19 13:19:15
31. plz can u give me code for key excange b/n pda & apache server.
View Tutorial By: visnas at 2009-05-04 20:18:32
32. Thanks friend this code will really help me
i will used it in my own client server program
View Tutorial By: Anonymous at 2009-05-04 20:16:58
33. pls give me code for exact communication between client and server
View Tutorial By: SIRAJ at 2009-02-19 06:24:10
34. How make comunication between client and server, sending mensage between them ??????
View Tutorial By: alex at 2009-01-30 07:12:49
35. Hi Gaurav, The sample in this tutorial is just a code snippet (NOT THE COMPLETE MIDLET). Therefore y
View Tutorial By: Ramlak at 2009-01-28 20:00:08
36. not satisfied friend. for Socket class it asks to import java.net in J2ME
View Tutorial By: Gaurav at 2009-01-28 07:34:42
Comment on this tutorial
- Data Science
- Android
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Related Tutorials
Code sample to Send SMS from a J2ME application.
Adding your own Application icon for your J2ME application (jar file)
Play a multimedia file in J2ME Program (Audio/Video) using MMAPI
Using HttpConnection in J2ME (Retrieve web content from a website to a phone)
Using HTTP vs UDP vs Socket in J2ME
RMSCookieConnector - Using Cookies in J2ME
Client Server in J2ME (Socket Programming sample)
Datagrams in J2ME (UDP Programming sample)
POST UTF-8 encoded data to the server in J2ME
Using alerts and tickers in J2ME
Using List to create a Menu and Menu items in J2ME
lists, forms, choices, gauges, text fields, text boxes in J2ME
Timer and TimerTask example in J2ME