日期:2014-05-20  浏览次数:20706 次

socket能否返回一个值,显示短信是否发送成功?
java   socket是否可以返回一个值,用来表示某个小灵通短信发送成功?

public   class   MSGDrive   {

private   String   hostIP;
private   String   hostPort;
private   Socket   socket;

public   void   SMSsend(String   phone,   String   sms)   {
BufferedReader   in;
PrintWriter   out;

String   called_num   =   phone;
String   info   =   sms;

try   {
//System.out.println( "短信=========== "+info);
socket   =   new   Socket(hostIP,   Integer.parseInt(hostPort));
in   =   new   BufferedReader(   new   InputStreamReader(socket.getInputStream()));
out   =   new   PrintWriter(socket.getOutputStream(),   true);

out.println( " <FROM:10060> <TO: "   +   called_num   +   "> <MSG:   DY   "   +   info   +   "> \r\n ");

}   catch   (Exception   e)   {
System.out.println(e);
}

}

这段代码如何改造?


------解决方案--------------------
方法返回boolean值,发生异常返回false,正常情况下返回false.
使用此种方法的问题在于依赖于Socket抛出异常来判断发送是否成功。
------解决方案--------------------
谁能回答一下
------解决方案--------------------
短信发送不是socket做的,是网关做的
socket只是和网关负责通信

你的out就是负责告诉网关:我要发短信啦
那么in就是负责接收网关告诉你的东西,至于它告诉你什么,看网关文档

如果网关没这个汇报发送状态功能,那就不用想了