子曰:“学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?”
TCP/IP协议,这里就不讲了,对协议不了解的这边请 ✈✈✈✈✈ TCP协议详解
服务端
public static void main(String[] args) throws Exception {
//指定端口
int port = 5555;
ServerSocket server = new ServerSocket(port);
System.out.println("服务已经启动...");
//使用线程池
ExecutorService threadPool = Executors.newFixedThreadPool(100);
while(true){
Socket socket = server.accept();
Runnable runnable = new Runnable() {
@Override
public void run() {
try {
//建立好连接后,从socket中获取输入流,并建立缓冲区进行读取
InputStream in = socket.getInputStream();
byte[] bytes = new byte[1024];
int len;
StringBuffer sb = new StringBuffer();
while((len = in.read(bytes)) != -1){
sb.append(new String(bytes, 0, len, "UTF-8"));
}
System.out.println("客户端传递的数据: "+sb.toString());
in.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
};
threadPool.submit(runnable);
}
}
客户端
public static void main(String[] args) throws Exception {
//ip地址
String host = "localhost";
//监听的端口
int port = 5555;
//与服务端建立连接
Socket socket = new Socket(host, port);
//获取连接获取输出流
OutputStream os = socket.getOutputStream();
String message = "海草";
os.write(message.getBytes("UTF-8"));
//关闭输出流
os.close();
//关闭socket
socket.close();
}
客户端向服务端发送数据,服务端打印接受的数据
服务已经启动...
客户端传递的数据: 海草
作者是一名自由程序员,住在上海,喜欢音乐、小说、旅行、以及编程。
P.S. 如果您喜欢这篇文章并且希望学习编程技术的话,请关注一下