TCP客户端连接循环 [英] TCP Client Connect Loop
本文介绍了TCP客户端连接循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在为我的一个游戏制作服务器,以便我可以玩多人游戏,但我不能让这一点工作。到目前为止,我可以使服务器工作,以便服务器启动,然后客户端,但我想它,以便它能够作为客户端启动并进入连接循环,以便我继续搜索服务器然后当服务器启动时,它会连接。任何人都可以帮助我吗?
代码:
使用系统;
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Text;
使用 System.IO;
使用 System.Net;
使用 System.Net.Sockets;
namespace TCP_Server_Test___Client
{
class Program
{
静态 void Main( string [] args)
{
Console.Write( root [。 ] $);
string cmd = Console.ReadLine();
if (cmd.StartsWith( connect ))
{
string op = cmd.Substring( 8 跨度>);
string ipaddress = op.Substring( 0 ,op.IndexOf( :));
ipaddress = ipaddress.Replace( , );
int port = Convert.ToInt32(op.Substring(op.IndexOf( :)+ 1 ));
Console.Clear();
Console.Write( password:);
string pass = Console.ReadLine();
if (pass == password )
{
try
{
TcpClient tcpclnt = new TcpClient();
Console.WriteLine( Connecting ......);
连接:
tcpclnt.Connect(ipaddress,port);
Console.WriteLine( 已连接);
开始:
Console.Write( Klunus [。] $) ;
string str = Console.ReadLine();
byte [] data = Encoding.ASCII.GetBytes(str);
NetworkStream netStream = tcpclnt.GetStream();
if (netStream.CanWrite)
{
netStream.Write(data, 0 ,data.Length);
}
goto 开始;
}
catch (例外e)
{
Console.WriteLine(e.Message);
}
}
}
}
}
}
解决方案
);
string cmd = Console.ReadLine();
if (cmd.StartsWith( connect))
{
string op = cmd.Substring( 8 );
string ipaddress = op.Substring( 0 ,op.IndexOf( :));
ipaddress = ipaddress.Replace( , );
int po rt = Convert.ToInt32(op.Substring(op.IndexOf( :)+ 1 跨度>));
Console.Clear();
Console.Write( password:);
string pass = Console.ReadLine();
if (pass == password )
{
try
{
TcpClient tcpclnt = new TcpClient();
Console.WriteLine( Connecting ......);
连接:
tcpclnt.Connect(ipaddress,port);
Console.WriteLine( 已连接);
开始:
Console.Write( Klunus [。]
跨度>);
string str = Console.ReadLine();
byte [] data = Encoding.ASCII.GetBytes(str);
NetworkStream netStream = tcpclnt.GetStream();
if (netStream.CanWrite)
{
netStream.Write(data, 0 ,data.Length);
}
goto 开始;
}
catch (例外e)
{
Console.WriteLine(e.Message);
}
}
}
}
}
}
hey guys,
i am making a server for one of my games so that i can play multiplayer, but i can''t get this one bit working. so far i can make a server that works so that the server starts up and then the client, but i want it so that it is able to work as the client starting up and going into a connect loop so that i keeps searching for the server and then when the server starts up, it connects. can anyone help me?
code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace TCP_Server_Test___Client
{
class Program
{
static void Main(string[] args)
{
Console.Write("root[.]$ ");
string cmd = Console.ReadLine();
if (cmd.StartsWith("connect "))
{
string op = cmd.Substring(8);
string ipaddress = op.Substring(0, op.IndexOf(":"));
ipaddress = ipaddress.Replace(" ", "");
int port = Convert.ToInt32(op.Substring(op.IndexOf(":") + 1));
Console.Clear();
Console.Write("password: ");
string pass = Console.ReadLine();
if (pass == "password")
{
try
{
TcpClient tcpclnt = new TcpClient();
Console.WriteLine("Connecting...");
Connect:
tcpclnt.Connect(ipaddress, port);
Console.WriteLine("Connected");
Begin:
Console.Write("Klunus[.]$ ");
string str = Console.ReadLine();
byte[] data = Encoding.ASCII.GetBytes(str);
NetworkStream netStream = tcpclnt.GetStream();
if (netStream.CanWrite)
{
netStream.Write(data, 0, data.Length);
}
goto Begin;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
}
}
解决方案
"); string cmd = Console.ReadLine(); if (cmd.StartsWith("connect ")) { string op = cmd.Substring(8); string ipaddress = op.Substring(0, op.IndexOf(":")); ipaddress = ipaddress.Replace(" ", ""); int port = Convert.ToInt32(op.Substring(op.IndexOf(":") + 1)); Console.Clear(); Console.Write("password: "); string pass = Console.ReadLine(); if (pass == "password") { try { TcpClient tcpclnt = new TcpClient(); Console.WriteLine("Connecting..."); Connect: tcpclnt.Connect(ipaddress, port); Console.WriteLine("Connected"); Begin: Console.Write("Klunus[.]
"); string str = Console.ReadLine(); byte[] data = Encoding.ASCII.GetBytes(str); NetworkStream netStream = tcpclnt.GetStream(); if (netStream.CanWrite) { netStream.Write(data, 0, data.Length); } goto Begin; } catch (Exception e) { Console.WriteLine(e.Message); } } } } } }
这篇关于TCP客户端连接循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文