add hash/kvs-client

This commit is contained in:
King
2024-05-25 14:23:43 +00:00
parent ea5291f3fe
commit 480bccfa04
16 changed files with 1100 additions and 28 deletions

42
kvs-client/go-kvstore.go Executable file
View File

@@ -0,0 +1,42 @@
package main
import (
"fmt"
"net"
"os"
)
func main() {
conn, err := net.Dial("tcp", "192.168.243.131:2000")
if err != nil {
fmt.Println("connect failed: ", err)
os.Exit(1)
}
defer conn.Close()
message := "SET Teacher King"
_, err = conn.Write([]byte(message))
if err != nil {
fmt.Println("send failed: ", err)
os.Exit(1)
}
fmt.Printf("send msg: %s\n", message)
buffer := make([]byte, 1024)
length, err := conn.Read(buffer)
if err != nil {
fmt.Println("recv failed: ", err)
os.Exit(1)
}
response := string(buffer[:length])
fmt.Printf("recv msg: %s\n", response)
}

37
kvs-client/javakvstore.java Executable file
View File

@@ -0,0 +1,37 @@
import java.io.*;
import java.net.*;
public class javakvstore {
public static void main(String[] args) {
String serverAddress = "192.168.243.131";
int serverPort = 2000;
try {
Socket socket = new Socket(serverAddress, serverPort);
OutputStream outputStream = socket.getOutputStream();
InputStream inputStream = socket.getInputStream();
String message = "SET T1 KING";
outputStream.write(message.getBytes());
byte[] buffer = new byte[1024];
int bytesRead = inputStream.read(buffer);
if (bytesRead > 0) {
String response = new String(buffer, 0, bytesRead);
System.out.println("recv: " + response);
}
inputStream.close();
outputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

26
kvs-client/js-kvstore.js Executable file
View File

@@ -0,0 +1,26 @@
const net = require('net');
const client = net.createConnection({ port: 2000, host: '192.168.243.131' }, () => {
console.log('connect kvstore');
client.write('GET Teacher');
});
client.on('data', (data) => {
console.log(`recv${data.toString()}`);
client.end();
});
client.on('error', (err) => {
console.error('connect failed', err);
});
client.on('close', () => {
console.log('close connection');
});

30
kvs-client/py-kvstore.py Executable file
View File

@@ -0,0 +1,30 @@
import socket
def main():
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('192.168.243.131', 2000)
try:
client_socket.connect(server_address)
message = "GET Teacher"
client_socket.sendall(message.encode())
response = client_socket.recv(1024)
print("recv:", response.decode())
except Exception as e:
print("发生异常:", str(e))
finally:
client_socket.close()
if __name__ == '__main__':
main()

18
kvs-client/rust-kvstore.rs Executable file
View File

@@ -0,0 +1,18 @@
use std::io::{self, Read, Write};
use std::net::TcpStream;
fn main() -> io::Result<()> {
let server_address = "192.168.243.131:2000";
let mut stream = TcpStream::connect(server_address)?;
stream.write_all(b"GET Teacher")?;
let mut buffer = [0; 1024];
let bytes_read = stream.read(&mut buffer)?;
println!("Received: {}", String::from_utf8_lossy(&buffer[..bytes_read]));
Ok(())
}