| Author |
Code of SMS application
|
nikitha kakani
Greenhorn
Joined: Dec 15, 2007
Posts: 25
|
|
Servlet import javax.comm.*; import java.io.*; import java.sql.Connection; import java.util.Enumeration; import java.util.Calendar; import java.util.Date; import java.util.TooManyListenersException; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Student.NewBean; public class SmSer extends HttpServlet { Connection con; boolean m1=true; public void destroy() { super.destroy(); } private static final int DELAY_BETWEEN_CHARS = 20; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Student.NewBean bean=new Student.NewBean(con); new Thread(bean).start(); //bean.getGot(); request.setAttribute("bean", bean); RequestDispatcher rd=request.getRequestDispatcher("/Sms.jsp"); rd.forward(request,response); } public void init(ServletConfig config) throws ServletException { try { ServletContext ctx=config.getServletContext(); con=(Connection)ctx.getAttribute("Connection"); if(con!=null) { } } catch(Exception e) { e.printStackTrace(); } } } NewBean package Student; import javax.comm.*; import java.io.*; import java.sql.Connection; import java.util.Enumeration; import java.util.Calendar; import java.util.Date; import java.util.TooManyListenersException; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class NewBean extends HttpServlet implements Runnable, SerialPortEventListener { SerialPort portID; Enumeration portList; InputStream incoming; InputStream inputStream; OutputStream outgoing; Thread readThread; CommPortIdentifier portIdentifier; InputStream keyInput; StringBuffer command = new StringBuffer(200); int c; Connection con; boolean b1; String h1; private static final int DELAY_BETWEEN_CHARS = 20; static CommPortIdentifier portId; //static Enumeration portList; //InputStream inputStream; SerialPort serialPort; //Thread readThread; public NewBean(Connection con) { this.con=con; portList = CommPortIdentifier.getPortIdentifiers(); while ( portList.hasMoreElements()) { portIdentifier = (CommPortIdentifier)portList.nextElement(); System.out.println(portIdentifier.toString()); System.out.println(portIdentifier.getName()); } try { portIdentifier = CommPortIdentifier.getPortIdentifier("COM1"); portID = (SerialPort)portIdentifier.open("Serial",10); // here we can get the input & output stream of this serial port // we can put the AT command into this stream incoming = portID.getInputStream(); outgoing = portID.getOutputStream(); portID.addEventListener(this); portID.notifyOnDataAvailable(true); try { portID.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); }catch(UnsupportedCommOperationException ucoe) {System.out.println("unsupported serial setting command");} } catch( NoSuchPortException pe ) { System.out.println("No such port existing"); } catch(PortInUseException piue ) { System.out.println("Sorry, this port is in use now"); } catch(IOException ioe) { System.out.println("maybe we can't get the input/output of serial port"); }catch(TooManyListenersException tmel) {} } private void sendStr(String s) throws Exception { for (int i = 0; i < s.length(); i ++) { try { Thread.sleep(DELAY_BETWEEN_CHARS); } catch (Exception e) {} outgoing.write((byte) s.charAt(i)); outgoing.flush(); } } private void sendChar(char s) throws Exception { //for (int i = 0; i < s.length(); i ++) //{ try { Thread.sleep(DELAY_BETWEEN_CHARS); } catch (Exception e) {} outgoing.write((byte) s); outgoing.flush(); //} } public void serialEvent(SerialPortEvent event) { switch(event.getEventType()) { case SerialPortEvent.BI: case SerialPortEvent.OE: case SerialPortEvent.FE: case SerialPortEvent.PE: case SerialPortEvent.CD: case SerialPortEvent.CTS: case SerialPortEvent.DSR: case SerialPortEvent.RI: case SerialPortEvent.OUTPUT_BUFFER_EMPTY: break; case SerialPortEvent.DATA_AVAILABLE: try { readIncoming(); }catch(Exception ioe) {}; break; } // end of switch(event.getEventType()) } private void readIncoming() throws Exception { int c; StringBuffer sb = new StringBuffer(200); try { while (true ) { c = incoming.read(); if ( c == -1 ) { break; } sb.append((char)c); } while ( sb.charAt(0) == 13 || sb.charAt(0) == 10 ) sb.delete(0,1); System.out.println("-------------- here is the input stream ---------"); System.out.println(sb.toString()); System.out.println("-------------- here is the input stream ---------"); } catch (IOException e) { System.out.println("we can't read from input"); } } public void setGot(String h) { this.h1=h; } public String getGot() { return h1; } public void run() { try { if (true) { sendStr("AT+CMGS=my number"); try{ serialPort = (SerialPort) portId.open("SimpleReadApp", 2000); } catch (PortInUseException e) {} inputStream = portID.getInputStream(); System.out.println(inputStream); if(inputStream.equals("<CR><LF>")) { System.out.println("here in cr lf"); } //sendStr(+CMGS=9397624332"); sendChar((char)0x0d); Thread.sleep(1000); sendStr("This Test SMS is sent from CBLOOMS Infotech Services(SMS application) "); Thread.sleep(10); sendChar((char)0x1a); setGot("Message sent Successfully"); /*while( true ) { c = System.in.read(); if ( c == 0x0d || c == 0x0a ) { break; } command.append((char)c); }*/ //if ( command.toString().equalsIgnoreCase("quit") ) //break; //System.out.println("try to send "+command.toString()); //command.delete(0,command.length()); } }catch(Exception e) { setGot("Message unsent Successfully"); System.out.println("we failed at SENDing stage"); } portID.close(); System.out.println("port has been closed"); } } I am unable get response from modem when it off(power off)..How to check it & i am unable to forward to jsp In jsp it should print Message sent successfully ,and i need to get acknowledgement.
|
 |
 |
|
|
subject: Code of SMS application
|
|
|