本文整理汇总了C#中TcpListener类的典型用法代码示例。如果您正苦于以下问题:C# TcpListener类的具体用法?C# TcpListener怎么用?C# TcpListener使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TcpListener类属于命名空间,在下文中一共展示了TcpListener类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
update_bases();
TcpListener Listen = new TcpListener(IPAddress.Any, 1488);
Listen.Start();
Console.WriteLine("[Server is online]");
int games = 0;
while (true)
{
//кто-то подсоединился
TcpClient Client = Listen.AcceptTcpClient();
Console.Write("[Client connected!]");
NetworkStream ns = Client.GetStream();
//Проверяем, есть ли кто-то в очереди
if (Waiter != null)
{
//в очереди кто-то есть, создаем новую игру
Games.Add(new Game(games++, Waiter, Client, timeOfGame, GenerateWord()));
Waiter = null;
}
else
{
//очеред пуста, закидываем туда клиента
Waiter = Client;
}
}
}
示例2: BlockingTcpListener
BlockingTcpListener(Loop loop)
: base(loop)
{
TcpListener = new TcpListener(loop);
Listener = TcpListener as Listener;
Handle = TcpListener;
}
示例3: handleRequest
/// <summary>
/// Gets request from client, and sends back file/folder to encrypt
/// </summary>
static void handleRequest(TcpListener listener)
{
while (true)
{
int bytesRead;
byte[] buffer = new byte[1024];
string test = null;
Socket s = listener.AcceptSocket();
Console.WriteLine("Connection accepted from " + s.RemoteEndPoint);
bytesRead = s.Receive(buffer);
char cc = ' ';
Console.WriteLine("Recieved...");
for (int i = 0; i < bytesRead - 1; i++)
{
//Console.Write(Convert.ToChar(buffer[i]));
cc = Convert.ToChar(buffer[i]);
test += cc.ToString();
}
Console.WriteLine(test);
string message = "files encrypted.";
ASCIIEncoding asen = new ASCIIEncoding();
s.Send(asen.GetBytes(message));
s.Close();
Console.WriteLine("sent bytes back");
}
}
示例4: Server
/* Constructor */
public Server()
{
//create folder "Plugins" if it doesn't already exists
_PluginLocation=Environment.CurrentDirectory;
_PluginLocation += "\\Plugins\\";
if (!Directory.Exists(_PluginLocation))
{
try
{
Directory.CreateDirectory(_PluginLocation);
}
catch (Exception e)
{
Console.WriteLine(e.Message + "- Plugin-Folder could not be created");
Console.ReadLine();
Environment.Exit(1);
}
}
try
{
//create listener - second param = port
TcpListener = new TcpListener(IPAddress.Any, 8080);
}
catch (Exception) { throw; }
}
示例5: Main
static void Main(string[] args)
{
byte[] quote = Encoding.ASCII.GetBytes("Insanity: doing the same thing over and over again and expecting different results. - Albert Einstein");
var loop = new UVLoop();
var listener = new TcpListener("0.0.0.0", 17, loop);
listener.ConnectionAccepted += (Tcp connection) =>
{
connection.ReadCompleted += (ByteSpan data) =>
{
unsafe
{
fixed (byte* pQuote = quote)
{
connection.TryWrite(new ByteSpan(pQuote, quote.Length));
}
}
};
connection.ReadStart();
};
listener.Listen();
loop.Run();
}
示例6: Main
public static void Main(String[] args)
{
TcpListener server = new TcpListener(int.Parse(args[0]));
server.Start();
TcpClient client = server.AcceptTcpClient();
NetworkStream stream = client.GetStream();
StreamReader reader = new StreamReader(stream);
String s = reader.ReadLine();
String[] strings = s.Split();
StreamWriter writer;
if (strings[0] != "GET") {
writer = new StreamWriter(stream);
writer.WriteLine
("HTTP/1.0 501 Not Implemented");
writer.WriteLine();
} else {
String filename = strings[1];
while(reader.ReadLine() != "");
writer = new StreamWriter(stream);
writer.WriteLine("HTTP/1.0 200 OK");
writer.WriteLine("Content-type: text/plain");
writer.WriteLine();
StreamReader file = new StreamReader(filename);
String z = file.ReadToEnd();
writer.WriteLine(z);
writer.Flush();
writer.Close();
file.Close();
}
client.Close();
stream.Close();
reader.Close();
writer.Close();
server.Stop();
}
示例7: SetUp
} // end method DisplayMessage
// accepts connections from 2 players
public void SetUp()
{
DisplayMessage("Waiting for players...\r\n");
// set up Socket
listener =
new TcpListener(IPAddress.Parse("127.0.0.1"), 50000);
listener.Start();
// accept first player and start a player thread
players[0] = new Player(listener.AcceptSocket(), this, 0);
playerThreads[0] =
new Thread(new ThreadStart(players[0].Run));
playerThreads[0].Start();
// accept second player and start another player thread
players[1] = new Player(listener.AcceptSocket(), this, 1);
playerThreads[1] =
new Thread(new ThreadStart(players[1].Run));
playerThreads[1].Start();
// let the first player know that the other player has connected
lock (players[0])
{
players[0].threadSuspended = false;
Monitor.Pulse(players[0]);
} // end lock
} // end method SetUp
示例8: Execute
protected override void Execute()
{
TcpListener server = null;
NetworkStream stream = null;
TcpClient client = null;
server = new TcpListener(8080);
server.Start();
byte[] buffer = new byte[150 * 1024];
int i = 0;
logger.Log("Thread Start");
for(;;){
client = server.AcceptTcpClient();
stream = client.GetStream();
while ((i = stream.Read(buffer, 0, buffer.Length)) != 0){
retrievedPacket(i, buffer);
i = 0;
if(terminate) break;
}
client.Close();
Thread.Sleep(1000 / 30);
if(terminate) break;
}
server.Stop();
logger.Log("Thread Stop");
}
示例9: Start
public void Start ()
{
tcpListener = new TcpListener (LocalEndPoint);
tcpListener.Start ();
listenThread = new Thread (new ThreadStart (Listen));
listenThread.Start ();
}
示例10: BeginLister
public void BeginLister()
{
while (true)
{
try
{
IPAddress[] Ips = Dns.GetHostAddresses("");
string GetIp = Ips[0].ToString();
Listener = new TcpListener(IPAddress .Parse (GetIp ),8888);
Listener.Start();
CheckForIllegalCrossThreadCalls = false;
butBeginSever.Enabled = false;
this.Text = "服务器已经开启.....";
SocketClient = Listener.AcceptSocket();
NetStream = new NetworkStream(SocketClient );
ServerWriter = new StreamWriter(NetStream );
ServerReader = new StreamReader(NetStream );
if (SocketClient.Connected)
{
MessageBox.Show("客户端连接成功!","服务器消息",MessageBoxButtons .OK ,MessageBoxIcon.Information );
}
}
catch { }
}
}
示例11: Server
public Server()
{
port = 41337;
listener = new TcpListener(port);
otherListener = new TcpListener(41338);
streams = new List<NetworkStream>();
}
示例12: StartServer
public void StartServer()
{
TcpListener server = new TcpListener(IPAddress.Parse("192.168.0.13"), 14500);
server.Start();
Console.WriteLine("Server has started on 127.0.0.1:14500.{0}Waiting for a connection...", Environment.NewLine);
while (true)
{
Socket client = server.AcceptSocket();
Console.WriteLine("A client connected.");
var childSocketThread = new Thread(() =>
{
byte[] data = new byte[4096];
int size = client.Receive(data);
if (size > 4096) //the packet is too god damn high
{
Console.Write("Client tried to send packet above 4096 bytes");
return;
}
HandlePacket(client,data);
Console.WriteLine("Recieved data:");
for (int i = 0; i < size; i++)
{
Console.Write(Convert.ToChar(data[i]));
}
Console.WriteLine();
client.Close();
});
childSocketThread.Start();
}
}
示例13: StartServer
/// <summary>
/// Start a HTTP server.
/// </summary>
/// <param name="port">Port number.</param>
public bool StartServer(int port)
{
try
{
Debug.Log("Starting a server...");
server = new TcpListener(IPAddress.Parse("127.0.0.1"), port);
server.Start();
listenThread = new Thread(Listen);
listenThread.Start();
Debug.Log("The server is started.");
}
catch (Exception e)
{
Debug.LogError(e);
if (server != null)
server.Stop();
server = null;
return false;
}
return true;
}
示例14: GetFreePort
public static int GetFreePort()
{
TcpListener tcpListener = default(TcpListener);
int port = 0;
try
{
var ipAddress = Dns.GetHostEntry("localhost").AddressList[0];
tcpListener = new TcpListener(ipAddress, 0);
tcpListener.Start();
string s = tcpListener.LocalEndpoint.ToString();
s = s.Substring(s.IndexOf("]:")+2);
port = int.Parse(s);
return port;
}
catch (SocketException)
{
}
finally
{
if (tcpListener != null)
tcpListener.Stop();
}
return port;
}
示例15: DispatchLoop
public DispatchLoop(TcpListener listener, ILogger logger,
IProtocolFactory protoFactory)
{
this.listener = listener;
this.logger = logger;
this.protoFactory = protoFactory;
}