java编程入门培训 (疯码java编程入门教程)

java编程入门培训,java网络编程入门到精通

package unit5;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.ServerSocket;

import java.net.Socket;

public class Java42 {

public static void main(String[] args) {

// 网络

// C/S架构:Client/Server:客户端/服务器端

// navicat客户端 -> mysql服务器

// ip:192.168.3.50

// port端口:3306

// B/S架构:Brower/Server:浏览器/服务器端

// 浏览器客户单 -> tomcat服务器

// ip:192.168.3.50

// port端口:8080

}

}

// 服务器

class Server {

public static void main(String[] args) throws IOException {

// java.net网络通信包

// ServerSocket -> Socket -> InputStream -> String

// 服务器端套接字

ServerSocket serverSocket = new ServerSocket(8082);

// 套接字

Socket socket = null;

// 字节输入流(I/O)

InputStream in = null;

while (true) {

// 接受客户端请求

socket = serverSocket.accept();

in = socket.getInputStream();

byte[] b = new byte[1024];

int i = in.read(b);// 返回实际长度

String str = new String(b, 0, i);

System.out.println(str);

// 给客户端发信息响应

OutputStream outputStream = socket.getOutputStream();

outputStream.write("收到客户请求".getBytes());

}

// 关闭

// socket.close();

// serverSocket.close();

}

}

// 客户端

class Client {

public static void main(String[] args) throws IOException {

// 套接字对象

// Socket -> OutputStream -> String

Socket socket = new Socket("192.168.3.49", 8082);

OutputStream outputStream = socket.getOutputStream();

outputStream.write("你好".getBytes());

// 客户端读取服务器数据

InputStream in = socket.getInputStream();

byte[] b = new byte[1024];

int i = in.read(b);// 返回实际长度

String str2 = new String(b, 0, i);

System.out.println(str2);

// 关闭

outputStream.close();

socket.close();

}

}