Hallo,
Ik heb een TCP Socket op internet gevonden die verzend en ontvangt!
Het probleem is als ik de client sluit krijg ik deze error:
Dit is de server:
En dit is de client:
Kan iemand mij hier AUB mee helpen! ik zit hier nu al dagen mee
Ik heb een TCP Socket op internet gevonden die verzend en ontvangt!
Het probleem is als ik de client sluit krijg ik deze error:

Dit is de server:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Collections;
using System.Threading;
using System.Net;
namespace Fun_House_Server.Packets
{
class Packets
{
public void Start()
{
TcpListener serverSocket = new TcpListener(3167);
TcpClient clientSocket = default(TcpClient);
int counter = 0;
serverSocket.Start();
counter = 0;
while (true)
{
string sts = "[Server == Server] - ";
string ctc = "[Client == Client] - ";
string stc = "[Server -> Client] - ";
string cts = "[Server <- Client] - ";
string sto = "[Server -> Output] - ";
counter += 1;
clientSocket = serverSocket.AcceptTcpClient();
Console.WriteLine(cts + "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
{
string sts = "[Server == Server] - ";
string ctc = "[Client == Client] - ";
string stc = "[Server -> Client] - ";
string cts = "[Server <- Client] - ";
string sto = "[Server -> Output] - ";
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(cts + clNo + dataFromClient);
Thread.Sleep(1000);
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();
Console.WriteLine(stc + serverResponse);
}
catch(Exception e)
{
}
}
}
}
}
}
En dit is de client:
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.IO;
namespace Fun_House
{
public partial class Login : Form
{
TcpClient clientSocket = new System.Net.Sockets.TcpClient();
public Login()
{
InitializeComponent();
}
private void Login_Load(object sender, EventArgs e)
{
clientSocket.Connect("127.0.0.1", 3167);
}
private void loginBtn_Click(object sender, EventArgs e)
{
NetworkStream serverStream = clientSocket.GetStream();
byte[] outStream = System.Text.Encoding.ASCII.GetBytes("Message from Client$");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
byte[] inStream = new byte[10025];
serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
string returndata = System.Text.Encoding.ASCII.GetString(inStream);
MessageBox.Show("Data from Server : " + returndata);
}
private void button1_Click(object sender, EventArgs e)
{
clientSocket.Close();
}
}
}
Kan iemand mij hier AUB mee helpen! ik zit hier nu al dagen mee

Laatst bewerkt: