cuperuskevin
Gebruiker
- Lid geworden
- 18 nov 2011
- Berichten
- 113
Hallo mensen,
ik heb een class gemaakt genaamd connection.cs
en dit staat erin:
ik heb een Main_Program.cs en dat is een form mijn vraag is nu met het form kan ik wel de tcp starten maar niet stoppen.... hoe kan ik hem laten starten en stopen?
ik heb een class gemaakt genaamd connection.cs
en dit staat erin:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Net.Sockets;
using System.Threading;
using System.Windows.Forms;
using System.Net;
namespace Talk_It_Server.TCP
{
class Connection
{
public void Start()
{
TcpListener serverSocket = new TcpListener(IPAddress.Any, 3167);
TcpClient clientSocket = default(TcpClient);
int counter = 0;
serverSocket.Start();
counter = 0;
while (true)
{
counter += 1;
clientSocket = serverSocket.AcceptTcpClient();
Console.WriteLine("Accepted Connection Nr. " + Convert.ToString(counter));
handleClinet client = new handleClinet();
client.startClient(clientSocket, Convert.ToString(counter));
}
clientSocket.Close();
serverSocket.Stop();
}
public class handleClinet
{
TcpClient clientSocket;
string clNo;
public void startClient(TcpClient inClientSocket, string clineNo)
{
this.clientSocket = inClientSocket;
this.clNo = clineNo;
Thread ctThread = new Thread(doChat);
ctThread.Start();
}
private void doChat()
{
int requestCount = 0;
byte[] bytesFrom = new byte[10025];
string dataFromClient = null;
Byte[] sendBytes = null;
string serverResponse = null;
string rCount = null;
requestCount = 0;
while ((true))
{
try
{
requestCount = requestCount + 1;
NetworkStream networkStream = clientSocket.GetStream();
networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);
dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));
Console.WriteLine(clNo + dataFromClient);
rCount = Convert.ToString(requestCount);
// clNo = Client Number
// rCount = Packet send number
serverResponse = "Test Packet sent";
sendBytes = Encoding.ASCII.GetBytes(serverResponse);
networkStream.Write(sendBytes, 0, sendBytes.Length);
networkStream.Flush();
Main_Program Main = new Main_Program();
Main.Debug(serverResponse, "NewLine");
}
catch
{
return;
}
}
}
}
}
}
ik heb een Main_Program.cs en dat is een form mijn vraag is nu met het form kan ik wel de tcp starten maar niet stoppen.... hoe kan ik hem laten starten en stopen?