Csharp/C Sharp by API/System.Net.Sockets/TcpClient — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 15:11, 26 мая 2010
new TcpClient( String ip, int port)
<source lang="csharp"> using System; using System.IO; using System.Net.Sockets; class MainClass {
const int echoPort = 7; [STAThread] static void Main(string[] args) { using ( TcpClient tc = new TcpClient( "localhost", echoPort ) ) { NetworkStream ns = tc.GetStream(); StreamWriter sw = new StreamWriter( ns ); StreamReader sr = new StreamReader( ns ); sw.WriteLine( "test message" ); sw.Flush(); System.Console.WriteLine( sr.ReadLine() ); } }
}
</source>
TcpClient.Connect
<source lang="csharp"> using System; using System.Net; using System.Net.Sockets; using System.Text; class MainClass {
[STAThread] static void Main(string[] args) { TcpClient MyClient = new TcpClient(); MyClient.Connect("localhost", 10000); NetworkStream MyNetStream = MyClient.GetStream(); if(MyNetStream.CanWrite && MyNetStream.CanRead) { Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there"); MyNetStream.Write(sendBytes, 0, sendBytes.Length); byte[] bytes = new byte[MyClient.ReceiveBufferSize]; MyNetStream.Read(bytes, 0, (int) MyClient.ReceiveBufferSize); string returndata = Encoding.ASCII.GetString(bytes); Console.WriteLine("This is what the host returned to you: " + returndata); }else if (!MyNetStream.CanRead) { Console.WriteLine("You can not write data to this stream"); MyClient.Close(); }else if (!MyNetStream.CanWrite) { Console.WriteLine("You can not read data from this stream"); MyClient.Close(); } }
}
</source>
TcpClient.GetStream()
<source lang="csharp"> /* C# Network Programming by Richard Blum Publisher: Sybex ISBN: 0782141765
- /
using System; using System.Net; using System.Net.Sockets; using System.Text; public class TcpListenerSample {
public static void Main() { int recv; byte[] data = new byte[1024]; TcpListener newsock = new TcpListener(9050); newsock.Start(); Console.WriteLine("Waiting for a client..."); TcpClient client = newsock.AcceptTcpClient(); NetworkStream ns = client.GetStream(); string welcome = "Welcome to my test server"; data = Encoding.ASCII.GetBytes(welcome); ns.Write(data, 0, data.Length); while(true) { data = new byte[1024]; recv = ns.Read(data, 0, data.Length); if (recv == 0) break; Console.WriteLine( Encoding.ASCII.GetString(data, 0, recv)); ns.Write(data, 0, recv); } ns.Close(); client.Close(); newsock.Stop(); }
}
</source>