您的位置:首页 > 编程语言 > Java开发

JAVA学习第十二天

2015-08-02 15:25 423 查看

InetAddress

package com.lingzhuo.test;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class InetAddress_Test {
public static void main(String[] args) {
try {
InetAddress address = InetAddress.getLocalHost();// 本机ip
System.out.println(InetAddress.getLocalHost());// lingzhuo11-2/192.168.0.52
System.out.println("主机名称" + address.getHostName());// 主机名称lingzhuo11-2
System.out.println("ip地址" + address.getHostAddress());// ip地址192.168.0.52
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}


Socket Tcp/Ip客户端与服务器之间通信

MyServer

//Socket
package com.lingzhuo.test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class MyServer {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(8080);// 8080端口监听
System.out.println("服务器启动");
Socket socket = server.accept();// 侦听并接受连接 进入服务器 等待连接  卡

OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);

InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

Scanner scanner = new Scanner(System.in);
while (true) {

String s = br.readLine();// 读一行 等待客户端来数据 卡
//BufferedReader.readLine()读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
System.out.println("客户端返回数据:" + s);

String back = scanner.next();//卡
bw.write(back + "\n");
bw.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


MyClient

package com.lingzhuo.test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class MyClient {
public static void main(String[] args) {
System.out.println("客户端启动");
try {
Socket socket = new Socket("192.168.0.52", 8080);// 主机ip
// 端口//连接本机IP的8080端口
// 连接服务器
OutputStream os = socket.getOutputStream();// 客户端输出
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);

InputStream is = socket.getInputStream();// 客户端输入
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

Scanner scanner = new Scanner(System.in);//不会卡
while (true) {

String s = scanner.next();// 卡        Scanner.next();查找并返回来自此扫描器的下一个完整标记。
bw.write(s + "\n");
bw.flush();

String back = br.readLine();
System.out.println("服务器返回数据:" + back);
}

// PrintWriter pw=new
// PrintWriter(socket.getOutputStream());//不能有OutputStreamWriter
// pw.println("jmnmijmnmik");
// pw.write("nihao\n");
// pw.flush();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: