@liruiyi962464
2017-03-08T08:23:20.000000Z
字数 2867
阅读 450
java
public class Test1_Client {// 客户顿
public static void main(String[] args) throws Exception {
// 1.创建一个Socket对象
Socket socket = new Socket("127.0.0.1", 12345);
// 2.从Socket获得IO流
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
byte[] buf = new byte[1024 * 200];
// 接收服务器的数据
// is是耳朵
int len = is.read(buf);
// socket.getInetAddress()客户端地址
// socket.getPort()端口号
System.out.println(new String(buf, 0, len) + socket.getInetAddress() + ":" + socket.getPort());
String str = "你好我是客户端,再见";
// 向服务器发送数据
// os是嘴
while (len != 0) {
os.write(len);
is.read();
}
os.write(str.getBytes());
}
}
public class Test1_Server {// 服务器端
public static void main(String[] args) throws Exception {
// 1.创建一个ServerSocket对象
ServerSocket server = new ServerSocket(12345);
// 2.调用accept()方法接收客户端的请求,就是接受客户端的Socket
Socket socket = server.accept();
// 3.从Socket中获得IO流
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
// 向客户端发送数据
// os是嘴
os.write("欢迎你来访问我,我是Server端".getBytes());
byte[] buf = new byte[1024 * 200];
// 接收客户端发来的数据
// is是耳朵
int len = is.read(buf);
// socket.getInetAddress()客户端地址 socket.getPort()端口号\
System.out.println(new String(buf, 0, len) + ":" + socket.getInetAddress() + ":" + socket.getPort());
while (len != 0) {
is.read();
os.write(len);
}
socket.close();
}
}
public class Test1_Receive {// 客户端
public static void main(String[] args) throws Exception {
// 1.创建DatagramSocket对象
DatagramSocket socket = new DatagramSocket(666);
// 2.通过receive()方法获得packet
byte[] buf = new byte[1024 * 200];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);
// 3.获得数据
byte[] data = packet.getData();
System.out.println(new String(data, 0, data.length));
socket.close();
}
}
public class Test1_Send {// 服务器端
public static void main(String[] args) throws Exception {
// 1.建立DatagramSocket对象,分配一个端口号
DatagramSocket socket = new DatagramSocket();
// 2.将数据进行packet包的封装
byte[] buf = "天天开心".getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length, InetAddress.getByName("127.0.0.1"), 666);
socket.send(packet);
socket.close();
}
}
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
Socket socket = new Socket("127.0.0.1", 12345);
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
while (true) {
byte[] buf1 = new byte[1024 * 2];
int len1 = is.read(buf1);
System.out.println(new String(buf1, 0, len1));
System.out.println("客户端输入:");
String str = sc.next();
os.write(str.getBytes());
if (str.equals("n")) {
break;
}
}
is.close();
os.close();
socket.close();
}
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
ServerSocket server = new ServerSocket(12345);
Socket socket = server.accept();
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
os.write("欢迎访问服务器".getBytes());
while (true) {
byte[] buf1 = new byte[1024 * 2];
int len1 = is.read(buf1);// is耳朵
System.out.println(new String(buf1, 0, len1));
System.out.println("服务器输入:");
String str = sc.next();
os.write(str.getBytes());
if (str.equals("n")) {
break;
}
}
socket.close();
}