基本版socket服务端
package com.netty.socketDemo1;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketServer {
public static void main(String[] args) throws UnsupportedEncodingException, IOException {
// 第一步、创建ServerSocket对象,绑定监听端口
int port = 6667;
ServerSocket server = new ServerSocket(port);
// 第二部、监听端口
Socket socket = server.accept();
// 第三步、建立好连接后,通过输入流读取客户端发送的请求信息
InputStream inputStream = socket.getInputStream();
byte[] bytes = new byte[1024];
int len;
while ((len = inputStream.read(bytes)) != -1) {
String message = new String(bytes, 0, len);
System.out.println("客户端传来消息: " + message);
// 第四部、通过输出流向客户端发送响应信息
socket.getOutputStream().write(bytes);
}
//第五步关闭资源
inputStream.close();
socket.close();
server.close();
}
}
socket基础版客户端
package com.netty.socketDemo1;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class SocketClient {
public static void main(String args[]) throws Exception {
String host = "127.0.0.1";
int port = 6667;
// 第一步 创建Socket对象,指明需要连接的服务器的地址和端口号。
Socket socket = new Socket(host, port);
OutputStream outputStream = socket.getOutputStream();
String message="你好,我是hello world";
//第二部 通过输出流向服务器发送请求信息。
socket.getOutputStream().write(message.getBytes("UTF-8"));
//第三步 、读取服务器返回的消息
InputStream inputStream = socket.getInputStream();
byte[] bytes = new byte[1024];
inputStream.read(bytes);
message = new String(bytes);
System.out.println("服务端返回消息: " + message);
//第四部、关闭资源
outputStream.close();
socket.close();
}
}
大致思路如下,
![](https://img.haomeiwen.com/i2240371/6f3f63d4929558d8.png)
网友评论