package l_5_Sokect_client;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
/***
* 客户端
*
* @author lambert_lei
*
*/
public class Client {
private static final String host = "127.0.0.1";
private static final int port = 9089;
public static void main(String[] args) {
// TODO Auto-generated method stub
Socket socket = null;
PrintWriter os = null;
BufferedReader br=null;
try {
// 实例化一个Socket套接字,向IP为127.0.0.1 端口为9086的机子发起会话
socket = new Socket(host, port);
// 实例化一个消息读取线程
new ClientreadMsg(socket).start();
// os = new PrintWriter(socket.getOutputStream());
os=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
// 由Socket对象得到输入流,并构造相应的BufferedReader对象
// 由系统标准输入设备构造BufferedReader对象 字符读取
//InputStreamReader 把字节流转成字符流
br = new BufferedReader(new InputStreamReader(System.in));
String readline;
while (true) {
readline=br.readLine();
if (!readline.equalsIgnoreCase("bye")) {
// 若从标准输入读入的字符串为 "yes"则停止循环
// 将从系统标准输入读入的字符串输出到Server
os.println(readline);
// 刷新输出流,使Server马上收到该字符串
os.flush();
System.out.println("(提示:客户端发送到服务器的消息发送成功!正在等待服务器返回消息,请稍候....)");
}else{
break;
}
}
} catch (Exception e) {
System.out.print(e.toString());
} finally {
System.out.println("关闭");
try {
os.close(); // 关闭Socket输出流
br.close(); // 关闭Socket输入流
socket.close(); // 关闭Socket
} catch (Exception e) {
}
}
}
private void test_inteaddress(){
try{
InetAddress addr = InetAddress.getByName("www.baidu.com");
String domainName = addr.getHostName();//获得主机名
String IPName = addr.getHostAddress();//获得IP地址
System.out.println(domainName);
System.out.println(IPName);
}catch(Exception e){
}
}
}