Использование сокетов для передачи данных с MonoDroid - PullRequest
2 голосов
/ 21 октября 2011

Я пытаюсь отправить некоторую информацию на сервер с Android, используя Monodroid.

Код выглядит следующим образом:

public void sendSomething()
    {
        sock = new TcpClient();
        sock.Connect(Dns.GetHostAddresses("a.domain.com"), 7777);

        String d;
        d = "somedata";

        StreamWriter w = new StreamWriter(sock.GetStream());
        // StreamReader r = new StreamReader(sock.GetStream());

        w.WriteLine(d);
        w.Flush();

        sock.Close();
     }

Это работает нормально, если я выполняю ту же самую процедурув приложении winforms, но при подключении к нажатию кнопки в monodroid (работает на виртуальном устройстве Android - я использую ознакомительную версию) сервер увидит соединение, но данные не будут получены.

Кто-нибудь знает, почему это может быть?

(отредактировано для изменения кода)

1 Ответ

1 голос
/ 21 октября 2011

Это может быть проблема с сервером.Например, предположим, что:

a) ваше приложение winform работает в Windows / MS.NET (а не в Mono / Linux или OSX);

b) ваш сервер тоже работает на WindowsReadLine читает сокеты

Тогда NewLine между записью (Unix \n) и чтением (Windows \r\n\) может объяснить, почему сервер не сообщает о том, что читается.

Можете ли вы показать нам, как вы читаете данные на сервере?(отредактируйте свой вопрос)

...