找不到getData()符号

时间:2017-04-06 08:12:20

标签: java sockets

我有一个简单的程序,但我有一个错误:

udpclient.java:35: error: cannot find symbol
        response = new String(inPacket, getData(), 0, inPacket.getLength());
                                        ^
  symbol:   method getData()
  location: class udpclient
1 error

这是我的代码:

do {
System.out.println("ketikan pesan  : ");
message = userEntry.readLine();
if(!message.equals("tutup")) {
outPacket = new DatagramPacket(message.getBytes(), message.length(), host, PORT);   
datagram.send(outPacket);
buffer = new byte[256];
inPacket = new DatagramPacket(buffer, buffer.length);
datagram.receive(inPacket);
response = new String(inPacket, getData(), 0, inPacket.getLength());
System.out.println("Server : " + response);
}
}

如果我的代码有问题?

编辑!

此问题已解决:

response = new String(inPacket.getData(), 0, inPacket.getLength());

3 个答案:

答案 0 :(得分:0)

您在github上提供的课程(请在您的问题中发布代码)未定义所请求的方法POST elastic_course/book/_search { "query": { "regexp": { "path.":"/structural" } } } 。因此,编译器无法解析该方法。

解决方案:

1)在班级getData()中定义静态方法getData()

2)如果在另一个类中定义upclient,则正确引用它(作为实例或类方法)

答案 1 :(得分:0)

你把逗号与点混淆了。你想做类似的事情:

select id,toDate from myHistory order by toDate;

供您参考,检查String的可能构造函数: https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

答案 2 :(得分:0)

你在udpclient类中没有一个名为getData()的静态方法。