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就是负责接收网关告诉你的东西,至于它告诉你什么,看网关文档
如果网关没这个汇报发送状态功能,那就不用想了