WorldRacer
Erfahrenes Mitglied
Hallo zusammen,
habe mir folgendes Tutorial angeschaut: http://www.switchonthecode.com/tutorials/csharp-tutorial-simple-threaded-tcp-server
Funktioniert soweit sehr gut. Wenn ich folgenden Code (beim Client)
um folgendes erweitere:
Kommt bei der Ausgabe folgendes (benutze eine MessageBox) heraus "Hello Server!Hello Server!". Ich möchte aber, dass beim Server zwei MessageBoxen erscheinen. Wie stell ich das an?
Hier noch der Code vom Server:
Danke im Voraus!
Einen Guten Rutsch wünsch' ich euch!!
habe mir folgendes Tutorial angeschaut: http://www.switchonthecode.com/tutorials/csharp-tutorial-simple-threaded-tcp-server
Funktioniert soweit sehr gut. Wenn ich folgenden Code (beim Client)
Code:
TcpClient client = new TcpClient();
IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12597);
client.Connect(serverEndPoint);
NetworkStream clientStream = client.GetStream();
ASCIIEncoding encoder = new ASCIIEncoding();
byte[] buffer = encoder.GetBytes("Hello Server!");
clientStream.Write(buffer, 0, buffer.Length);
clientStream.Flush();
um folgendes erweitere:
Code:
clientStream.Write(buffer, 0, buffer.Length);
clientStream.Flush();
Kommt bei der Ausgabe folgendes (benutze eine MessageBox) heraus "Hello Server!Hello Server!". Ich möchte aber, dass beim Server zwei MessageBoxen erscheinen. Wie stell ich das an?
Hier noch der Code vom Server:
Code:
using System;
using System.Text;
using System.Net.Sockets;
using System.Threading;
using System.Net;
namespace TCPServerTutorial
{
class Server
{
private TcpListener tcpListener;
private Thread listenThread;
public Server()
{
this.tcpListener = new TcpListener(IPAddress.Any, 12597);
this.listenThread = new Thread(new ThreadStart(ListenForClients));
this.listenThread.Start();
}
private void ListenForClients()
{
this.tcpListener.Start();
while (true)
{
//blocks until a client has connected to the server
TcpClient client = this.tcpListener.AcceptTcpClient();
//create a thread to handle communication
//with connected client
Thread clientThread = new Thread(new ParameterizedThreadStart(HandleClientComm));
clientThread.Start(client);
}
}
private void HandleClientComm(object client)
{
TcpClient tcpClient = (TcpClient)client;
NetworkStream clientStream = tcpClient.GetStream();
byte[] message = new byte[4096];
int bytesRead;
while (true)
{
message = new byte[4096];
bytesRead = 0;
try
{
//blocks until a client sends a message
bytesRead = clientStream.Read(message, 0, 4096);
}
catch
{
//a socket error has occured
break;
}
if (bytesRead == 0)
{
//the client has disconnected from the server
break;
}
//message has successfully been received
ASCIIEncoding encoder = new ASCIIEncoding();
System.Windows.Forms.MessageBox.Show(encoder.GetString(message, 0, bytesRead));
}
tcpClient.Close();
}
}
}
Danke im Voraus!
Einen Guten Rutsch wünsch' ich euch!!
Zuletzt bearbeitet: