1

我是android编程的初学者。我正在尝试使用以下代码在 WiFiDirect 上广播消息:

公共类 FileTransferService 扩展 IntentService {

    public static final String host= "255.255.255.255";
    InetAddress broadcastAddress = InetAddress.getByName(host);// Exception: Unknown host exception
    int port = 8888;

        protected void onHandleIntent(Intent intent) {

    Log.d(WiFiDirectActivity.TAG,"m in 1");
    Context context = getApplicationContext();

    DatagramSocket socket;
    try {
        socket = new DatagramSocket(port);

        socket.setBroadcast(true);

            socket.connect(broadcastAddress, port);
            String message = "Hello";
            byte[] buffer = message.getBytes();
            DatagramPacket packet = new DatagramPacket(
            buffer, buffer.length, broadcastAddress, port);
            socket.send(packet); // <----- Causes a SocketException
    } catch (IOException e) {
            Log.d(WiFiDirectActivity.TAG, e.getMessage(), e);
    }
          }
         }

它在 getByName() 方法上向我显示了未知的主机异常。有什么方法可以替代吗?我走在正确的道路上吗?我需要添加任何东西来发送消息吗?

提前致谢

4

1 回答 1

0

尝试调用public UnknownHostException (String detailMessage)以获取详细的异常消息。

可以从这里获取另一种调用 getByName() 的方法

下面的链接有一步一步的说明设置一个 Wi-Fi Direct 广播 器连接到 Wi-Fi Direct

于 2013-08-02T13:06:31.800 回答