Я работаю с UDPClient (написанный на Java ) и сервер (написанный в Lua). Я использую Lua Socket для сервера и DatagramSockets для клиента. Соединение устанавливается успешно. Проблема в том, что сервер Lua отправляет строку на Java-клиент, Java receive() Функция не получает данные и блокирует. PLS помочь мне.UDP соединение между сервером и клиентом Lua Java
код сервера Lua:
-- Server
local socket = require("socket")
host = host or "*"
port = port or 8080
s = assert(socket.bind(host, port))
c = assert(s:accept())
data = "hello"
while true
do
assert(c:send(data .. "\n"))
socket.sleep(1)
-- return 0;
end
Java код клиента:
import java.net.*;
import java.io.*;
public class Clientnew
{
public static void main(String[] args) throws Exception
{
DatagramSocket ds = null;
byte[] Message = new byte[100];
try {
InetAddress IP = InetAddress.getLocalHost();
Socket client = new Socket(IP, 8080);
ds = new DatagramSocket(8080);
DatagramPacket dp = new DatagramPacket(Message, 1);
ds.receive(dp);
System.out.println("Recv\n");
String str = new String(dp.getData());
System.out.println(str);
} catch (Exception e)
{
} finally
{
if (ds != null)
{
ds.close();
}
}
}
}
Как запустить программу на платформе Linux.