Java socket 编程
要实现 java socket 功能,需要两台机器:一个服务端 Server.java , 一个客户端 Client.java
服务端 Server.java
// Server.java
public class Server{
ServerSocket server = new ServerSocket(10010);
// 使用 accept() 方法监听服务器的 10010 端口,并获取一个 socket 对象
Socket socket = server.accept();
// 使用 socket 对象获取一个网络输入流
InputStream is = socket.getInputStream();
// 准备一个 1024B 的缓冲区
byte[] bs = new byte[1024];
// 读取客户端发送的字节流数据
int len = is.read(bs);
// 使用 new String() 构造,将字节数组转换为字符串
System.out.println(new String(bs));
}
客户端 Client.java
// Client.java
public class Server{
// new 一个 socket 对象
Socket socket = new Socket("localhost", 10010);
// 使用 socket 对象获取一个网络输出流
OutputStream os = socket.getOutputStream();
// 准备向服务端发送的数据
String strForServer = "hello Server";
// 使用 getBytes() 方法,将字符串转换为字节数组,并发送给服务端
os.write(strForServer.getBytes());
}
注意事项:
1.Java Socket 编程中:发送使用网络输出流,接收使用网络输入流。并且,网络流的获取都是使用 Socket 对象。
获取网络输入流: socket.getInputStream()
获取网络输出流: socket.getOutputStream()
2.关于 Socket 对象的获取
客户端获取使用 new 的方式
服务端则是通过 ServerSocket 对象的 accept() 方法
评论已关闭