smsclient.java

来自「这是联通群发短信的JAVA源码。 主要用于与网关通信」· Java 代码 · 共 78 行

JAVA
78
字号
package com.bonc.jlcc;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

public class SmsClient extends Socket {
	public static void main(String[] args) {
		String local = null;
		int port = 1234;
		String info = "13341593979" + "\t" + "test" + "\t" + "1234567\n";
		info = info.concat("13341593979" + "\t" + "test2" + "\t" + "890133\n");
		try {
			local = InetAddress.getLocalHost().getHostAddress();
		} catch (UnknownHostException e1) {
			e1.printStackTrace();
		}
		switch (args.length) {
		case 1:
			info = args[0];
			break;
		case 3:
			info = args[2];
		case 2:
			local = args[0];
			port = Integer.valueOf(args[1]);
		}
		try {
			while (true) {
				Socket client = new Socket(local, port);
				PrintWriter out = new PrintWriter(new OutputStreamWriter(client
						.getOutputStream()), true);
				out.println("sms-begin");
				System.out.println("after send begin");
				BufferedReader in = new BufferedReader(new InputStreamReader(
						client.getInputStream()));
				String retInfo;
				while (!in.ready()) {
					//Thread.yield();
					Thread.sleep(500);
					System.out.println("sleep ...");
				}

				retInfo = in.readLine();
				System.out.println("first return info:" + retInfo);
				if (retInfo.toLowerCase().startsWith("this is sms server")) {
					out.println(info);
					out.println("sms-end");
					System.out.println("==================");
					retInfo = in.readLine();
					System.out.println("get the return info:" + retInfo);
					while (retInfo == null || !retInfo.startsWith("ok:")) {
						System.out.println("waiting for return info:");
						Thread.sleep(500);
						retInfo = in.readLine();
					}
					System.out.println("last return info:" + retInfo);
				}
				in.close();
				out.close();
				client.close();
			}
			// }
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?