M
mitch_HD2
Fortgeschrittenes Mitglied
- 1
Habe folgenden Code.. hab ich irgendwo hier aus dem Forum
startet alles schön und gut..
dann hab ich noch ein Server unter Visual Basic gemacht mit Streamreader, und TCPListener.. mit meinem VB Client kann ich auf den Server nachrichten schreiben... klappt...
allerdings nicht mit meiner app..
kann es sein dass die beiden nicht miteinander arbeiten können?
Android
VB Code
startet alles schön und gut..
dann hab ich noch ein Server unter Visual Basic gemacht mit Streamreader, und TCPListener.. mit meinem VB Client kann ich auf den Server nachrichten schreiben... klappt...
allerdings nicht mit meiner app..
kann es sein dass die beiden nicht miteinander arbeiten können?
Android
Code:
package com.example.chat;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import java.net.*;
import java.io.*;
public class MyChatCientAppActivity extends Activity {
/** Called when the activity is first created. */
String ip = "0";
ChatClient client = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onSendClick(View v)
{
EditText nachricht = (EditText) this.findViewById(R.id.EditText01);
String msg = nachricht.getText().toString();
client.send(msg);
}
public void onConnectClick(View v)
{
EditText AdressEditText = (EditText) this.findViewById(R.id.EditText02);
ip = AdressEditText.getText().toString();
int port = 4000;
client = new ChatClient(ip, port);
}
}
class ChatClient
{
private Socket socket = null;
private DataInputStream console = null;
private DataOutputStream streamOut = null;
public ChatClient(String serverName, int serverPort)
{ System.out.println("Establishing connection. Please wait ...");
try
{ socket = new Socket(serverName, serverPort);
Log.d("DEBUG","Connected: " + socket);
start();
}
catch(UnknownHostException uhe)
{ Log.d("DEBUG","Host unknown: " + uhe.getMessage());
}
catch(IOException ioe)
{ Log.d("DEBUG","Unexpected exception: " + ioe.getMessage());
}
}
public void start() throws IOException
{
console = new DataInputStream(System.in);
streamOut = new DataOutputStream(socket.getOutputStream());
}
public void stop()
{ try
{ if (console != null) console.close();
if (streamOut != null) streamOut.close();
if (socket != null) socket.close();
}
catch(IOException ioe)
{ System.out.println("Error closing ...");
}
}
public void send(String msg)
{
try
{
streamOut.writeUTF(msg);
streamOut.flush();
}
catch(IOException ioe)
{
Log.d("DEBUG","Sending error: " + ioe.getMessage());
}
}
}
VB Code
Imports System.Net.Sockets
Imports System.IO
Imports System.Net
Public Class Form1
'Variablen:
Dim stream As NetworkStream
Dim streamw As StreamWriter
Dim streamr As StreamReader
Dim Server As TcpListener
Dim client As New TcpClient
Dim ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 4000)
Dim mainthread As Threading.Thread
'______________
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
mainthread = New Threading.Thread(AddressOf mainserver)
mainthread.Start()
End Sub
Sub mainserver()
Try
Server = New TcpListener(ipendpoint)
Server.Start()
client = Server.AcceptTcpClient
stream = client.GetStream
streamr = New StreamReader(stream)
streamw = New StreamWriter(stream) ' Müsste eigentlich alles Klar sein.
While True
MsgBox(streamr.ReadLine)
End While
Catch
' Hier wieder eine Fehler behandlung und ein neuen Versuch den Server zu starten...
End Try
End Sub
Private Sub Form1__close(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.FormClosing
Server.Stop()
Try
mainthread.Abort()
Catch
End Try
End Sub
End Class