Hey Leute
ich bin derzeit dabei zwischen PC und Android eine Verbindung per TCP/IP herzustellen.
Allerdings scheint, dass nicht zu funktionieren, da nicht auf die Verbindung reagiert wird.
Laut Fehlermeldung antwortet die Gegenstelle (Emulator, IP: 10.0.2.2) nicht (scheint aber erreichbar zu sein).
Bei Google wird mir nichts wirklich Hilfreiches angezeigt.
So sieht die der Code aus:
App
Client
Ich hab keine Ahnung woran das liegen könnte.
MfG, KaskadekingDE
ich bin derzeit dabei zwischen PC und Android eine Verbindung per TCP/IP herzustellen.
Allerdings scheint, dass nicht zu funktionieren, da nicht auf die Verbindung reagiert wird.
Laut Fehlermeldung antwortet die Gegenstelle (Emulator, IP: 10.0.2.2) nicht (scheint aber erreichbar zu sein).
Bei Google wird mir nichts wirklich Hilfreiches angezeigt.
So sieht die der Code aus:
C#-Quellcode
- protected async override void OnCreate(Bundle bundle)
- {
- base.OnCreate(bundle);
- SetContentView(Resource.Layout.Main);
- TextView status = FindViewById<TextView>(Resource.Id.status);
- status.Text = Resources.GetString(Resource.String.Initializing);
- await SetupTestTcpServer();
- }
- public async Task<bool> SetupTestTcpServer()
- {
- TextView status = FindViewById<TextView>(Resource.Id.status);
- var listener = new TcpListener(IPAddress.Any, 8884);
- listener.Start();
- while(true)
- {
- var client = await listener.AcceptTcpClientAsync(); // Wenn ich im Einzelschritt durchgehe kommt er hier an und das wars dann
- try
- {
- using (var br = new BinaryReader(client.GetStream()))
- {
- using (var bw = new BinaryWriter(client.GetStream()))
- {
- var sInfos = br.ReadString();
- TransferInfos infos;
- var serializer = new XmlSerializer(typeof(TransferInfos));
- using (var sr = new StringReader(sInfos))
- {
- infos = (TransferInfos)serializer.Deserialize(sr);
- }
- status.Text = infos.Id;
- }
- }
- }
- catch (Exception ex)
- {
- status.Text = ex.Message;
- return false;
- }
- return true;
- }
- }
C#-Quellcode
- private void button1_Click(object sender, EventArgs e)
- {
- var fileTransferList = new List<TransferFile>();
- // ...
- var bla = new TransferFile
- {
- File = fi.Name,
- };
- fileTransferList.Add(transferFile);
- var transferInfo = new TransferInfos
- {
- Files = fileTransferList,
- TotalFiles = fileTransferList.Count,
- };
- // ...
- TcpTransport(transferInfo, fileTransferList);
- }
- private async void TcpTransport(TransferInfos transferInfo, IEnumerable<TransferFile> fileTransferList)
- {
- if (String.IsNullOrWhiteSpace(txbServerIp.Text))
- {
- MessageBox.Show(@"Please enter the receivers ip address!", @"Failed to connect to receiver",
- MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- var transferFiles = fileTransferList as IList<TransferFile> ?? fileTransferList.ToList();
- if (!transferFiles.Any())
- {
- MessageBox.Show(@"Please select some files which you want to transfer!", @"Files missing.",
- MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- var port = Convert.ToInt32(nudReceiverPort.Value);
- cmdBrowse.Enabled = false;
- cmdTransfer.Enabled = false;
- var tcpClient = new TcpClient();
- try
- {
- await tcpClient.ConnectAsync(txbServerIp.Text, port);
- }
- catch (SocketException ex)
- {
- MessageBox.Show(@"Failed to connect to server! Message: " + ex.Message, @"Failed!", MessageBoxButtons.OK, MessageBoxIcon.Error); // und hier kommt dann die Fehlermeldung
- cmdBrowse.Enabled = true;
- cmdTransfer.Enabled = true;
- return;
- }
- // ...
- }
Ich hab keine Ahnung woran das liegen könnte.
MfG, KaskadekingDE
KaskadekingDE on GitHub
Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.
Who cares? ¯\_(ツ)_/¯
Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.
Who cares? ¯\_(ツ)_/¯