2011-03-30 1 views
0
TcpListener serverSocket = new TcpListener(ip, port); 
TcpClient clientSocket =new TcpClient(); //default tcpclient socket; 

serverSocket.Start(); 


counter = 0; 
while (true) 
{ 
    counter += 1; 
    clientSocket = serverSocket.AcceptTcpClient(); 

    Console.WriteLine(" >> " + "Client No:" + Convert.ToString(counter) + " started!"); 
    LAN_Quiz.ClientHandle.HandleClient hc = new LAN_Quiz.ClientHandle.HandleClient(); 

    hc.ClientHandlingStarted(clientSocket, counter.ToString()); 


    //Get the client ip address 

    string clientIPAddress = "Your Ip Address is: " + IPAddress.Parse(((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString())); 

    NetworkStream stream = client.GetStream(); 

    .. 
    ... 
}  

Dans le formulaire d'application Windows ici, j'ai le problème de savoir pourquoi la forme ne se charge pas quand je leComment résoudre une erreur de chargement de forme de client-serveur

clientSocket = serverSocket.AcceptTcpClient(); 

et repos Code

mais il peut accepter la demande du client; Maintenant, comment résoudre ce problème et aussi plz me donner des informations sur la minuterie utilise

+4

Je ne pense pas que quiconque va lire autant de code. –

+0

Simplifiez votre exemple, créez un exemple readable. –

+0

Certainement pas moi. S'il vous plaît simplement votre code et extraire l'endroit où vous avez un problème. SO n'est pas ici pour déboguer votre programme pour vous; vous devez faire le minimum vous-même. –

Répondre

0
public partial class MyForm : Form 
{ 
    private Thread _serverThread; 

    public Form() 
    { 
     _serverThread = new Thread(ServerThread).Start(); 
    } 

    private void ServerThread(object state) 
    { 
     //add the socket code here. 
    } 
} 

qui fonctionnerait. Cependant, je ne le recommande pas car il casse le Principe de responsabilité unique (google). Placez tout le code de socket dans une classe séparée (y compris le code de thread) et utilisez cette classe depuis votre formulaire principal.

+0

merci de donner votre réponse – Power

+0

merci pour votre réponse – Power

+0

merci pour votre réponse, mais quand j'ai utilisé l'utilisation de Thread comme mentionné ci-dessus alors le formulaire est chargé, mais quand la demande du client viennent au serveur, puis le serveur formulaire raccroche ou ne répond pas. Quelqu'un peut-il résoudre ce problème en fournissant le code sous forme de Windows Je veux que le serveur lise le nom du client et l'adresse IP et le serveur pour vérifier si le client est disponible ou non et le serveur peut ajouter n'importe quel client dans sa liste. vue) – Power

Questions connexes