我正在尝试用两种语言编写一个简单的客户端/服务器聊天应用程序 - Java和Scala。 Java版本正在运行,唯一的问题是翻译它。 在Java中我有这样的代码:
import java.net.*;
import java.io.*;
public class FileServer666 extends Thread{
static Socket clientSocket = null;
static ServerSocket serverSocket= null;
static clientThread t[] = new clientThread[10];
public static void main(String args[]) throws IOException
{
int port_number =1406;
try
{
serverSocket = new ServerSocket(port_number);
}catch(IOException e){System.out.println(e);}
System.out.println("Listening" +port_number);
while(true)
{
try
{
clientSocket=serverSocket.accept();
System.out.println("Akceptuje połaczenie od: "+clientSocket.getInetAddress());
for(int i=0; i<=9; i++)
{
if(t[i]==null)
{
(t[i] = new clientThread(clientSocket,t)).start();
break;
}
}
}catch(IOException e){System.out.println(e);}
}
}
}
我有一个问题。如何将此行转换为Scala:
(t[i] = new clientThread(clientSocket,t)).start();
你有什么建议吗?
答案 0 :(得分:3)
如果你保持直接翻译而你的问题只是分配不会在scala中返回一个值,那么就这样做
t(i) = new ClientThread(clientSocket, t)
t(i).start
答案 1 :(得分:0)
简单地:
t(i) = ( new ClientActor( clientSocket, t) ).start
其中ClientActor
是你的演员。