Witam,
chciałbym przesyłać dane z akcelerometru między Windows Mobile 6.1 (HTC Touch pro) a komputerem. Próbowałem w ten sposób (kod z MSDN).
Na PC:
public static void Main()
{
TcpListener server = null;
try
{
Int32 port = 30000;
IPAddress localAddr = IPAddress.Parse("192.168.0.10");
Console.Write(localAddr.ToString()+"\n"+port.ToString());
server = new TcpListener(localAddr, port);
server.Start();
Byte[] bytes = new Byte[256];
String data = null;
while (true)
{
Console.Write("Waiting for a connection... ");
TcpClient client = server.AcceptTcpClient();
Console.WriteLine("Connected!");
data = null;
NetworkStream stream = client.GetStream();
int i;
while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
{
data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
data = data.ToUpper();
byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);
}
client.Close();
}
}
catch (SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
finally
{
// Stop listening for new clients.
server.Stop();
}
Console.WriteLine("\nHit enter to continue...");
Console.Read();
}
Na Windows Mobile:
private void buttonSend_Click(object sender, EventArgs e)
{
Connect("192.168.0.10", "alo alo");
}
void Connect(String server, String message)
{
Int32 port = 30000;
TcpClient client = new TcpClient(server, port);
Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
NetworkStream stream = client.GetStream();
stream.Write(data, 0, data.Length);
stream.Close();
client.Close();
}
Aplikacja na windows mobile zawiesza się gdy wciskam Button send. Miedzy dwoma komputerami kod działa poprawnie. Adres 192.168.0.10 to adres PC. Komórka i komputer są połączone do tej samej sieci.Zależy mi, żeby dane były przesyłane przez wifi. Jakie jeszcze metody mogę wykorzystać aby przesłać dane z akcelerometru?
pozdrawiam