gpt4 book ai didi

python - Scala相当于python echo服务器/客户端示例?

转载 作者:IT老高 更新时间:2023-10-28 20:51:53 24 4
gpt4 key购买 nike

scala 中的所有“服务器”示例都使用 Actor 、 react 器等...

谁能告诉我如何编写一个死的简单回显服务器和客户端,就像下面的 Server 的 python 示例和 Client :

# A simple echo server 
import socket

host = ''
port = 50000
backlog = 5
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
s.listen(backlog)
while 1:
client, address = s.accept()
data = client.recv(size)
if data:
client.send(data)
client.close()

# A simple echo client 
import socket

host = 'localhost'
port = 50000
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host,port))
s.send('Hello, world')
data = s.recv(size)
s.close()
print 'Received:', data

最佳答案

您可以在标准库中执行以下操作:

// Simple server
import java.net._
import java.io._
import scala.io._

val server = new ServerSocket(9999)
while (true) {
val s = server.accept()
val in = new BufferedSource(s.getInputStream()).getLines()
val out = new PrintStream(s.getOutputStream())

out.println(in.next())
out.flush()
s.close()
}

// Simple client
import java.net._
import java.io._
import scala.io._

val s = new Socket(InetAddress.getByName("localhost"), 9999)
lazy val in = new BufferedSource(s.getInputStream()).getLines()
val out = new PrintStream(s.getOutputStream())

out.println("Hello, world")
out.flush()
println("Received: " + in.next())

s.close()

如果您不介意使用额外的库,您可能会喜欢 Finagle .

关于python - Scala相当于python echo服务器/客户端示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6414942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com