C#TCP,网络流通讯实例

服务端:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;

namespace ceshi1
{
class Program
{
static void Main(string[] args)
{
string sendString = null;//要发送的字符串
byte[] sendData = null;//要发送的字节数组
TcpClient client = null;//TcpClient实例
NetworkStream stream = null;//网络流
IPAddress remoteIP = IPAddress.Parse("127.0.0.1");//远程主机IP
int remotePort = 11000;//远程主机端口
while (true)//死循环
{
sendString = Console.ReadLine();//获取要发送的字符串
sendData = Encoding.Default.GetBytes(sendString);//获取要发送的字节数组
client = new TcpClient();//实例化TcpClient
try
{
client.Connect(remoteIP, remotePort);//连接远程主机
}
catch (System.Exception ex)
{
Console.WriteLine("连接超时,服务器没有响应!");//连接失败
Console.ReadKey();
return;
}
stream = client.GetStream();//获取网络流
stream.Write(sendData, 0, sendData.Length);//将数据写入网络流
stream.Close();//关闭网络流
client.Close();//关闭客户端
}
}
}
}

客户接收端:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;

namespace ceshi
{
class Program
{
static void Main(string[] args)
{
TcpClient client = null;
NetworkStream stream = null;
byte[] buffer = null;
string receiveString = null;
IPAddress localIP = IPAddress.Parse("127.0.0.1");
int localPort = 11000;
TcpListener listener = new TcpListener(localIP, localPort);//用本地IP和端口实例化Listener
listener.Start();//开始监听
while (true)
{
client = listener.AcceptTcpClient();//接受一个Client
buffer = new byte[client.ReceiveBufferSize];
stream = client.GetStream();//获取网络流
stream.Read(buffer, 0, buffer.Length);//读取网络流中的数据
stream.Close();//关闭流
client.Close();//关闭Client
receiveString = Encoding.Default.GetString(buffer).Trim('\0');//转换成字符串
Console.WriteLine(receiveString);
}
}
}
}

posted @ 2017-04-24 15:29  吴皓杰  阅读(1282)  评论(0编辑  收藏  举报