在Ruby中,你可以使用socket
庫來建立TCP/IP連接。以下是一個簡單的示例,展示了如何創建一個TCP客戶端和服務器,并通過它們進行通信:
require 'socket'
# 創建一個TCP套接字
server_socket = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM)
# 綁定IP地址和端口
server_address = '127.0.0.1'
server_port = 12345
server_socket.bind(server_address, server_port)
# 開始監聽連接
server_socket.listen(1)
puts "服務器正在監聽端口 #{server_port}..."
# 等待客戶端連接
client_socket, client_address = server_socket.accept
puts "已連接到客戶端 #{client_address}..."
# 接收客戶端發送的數據
data = client_socket.recv(1024)
puts "從客戶端接收到的數據: #{data}"
# 向客戶端發送數據
client_socket.send("你好,我是服務器!".encode('UTF-8'))
# 關閉套接字
client_socket.close
server_socket.close
require 'socket'
# 創建一個TCP套接字
client_socket = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM)
# 連接到服務器
server_address = '127.0.0.1'
server_port = 12345
client_socket.connect(server_address, server_port)
# 向服務器發送數據
client_socket.send("你好,我是客戶端!".encode('UTF-8'))
# 接收服務器發送的數據
data = client_socket.recv(1024)
puts "從服務器接收到的數據: #{data.decode('UTF-8')}"
# 關閉套接字
client_socket.close
首先運行服務器代碼,然后運行客戶端代碼。服務器將接收到客戶端發送的數據,并向客戶端發送響應。客戶端將接收到服務器的響應并打印出來。