服务端代码:
using System;
using System.Net.Sockets;
using System.Net;
using System.IO;
//服务器程序
namespace CSharpStudy_09_21
{
class Program
{
static void Main(string[] args)
{
int port = 8865;
TcpClient tcpClient;//创建tcp对象
IPAddress[] serverIp = Dns.GetHostAddresses("127.0.0.1");//定义IP地址,GetHostAddresses返回的是一个数组
IPAddress LocalAddress = serverIp[0];
Console.WriteLine("服务端::LocalAddress是" + LocalAddress);
TcpListener tcpListener = new TcpListener(LocalAddress, port);
tcpListener.Start();//开始监听消息
Console.WriteLine("服务端::服务器已经启动,等待客户端发送消息");
while (true)
{
try
{
tcpClient = tcpListener.AcceptTcpClient();//为Tcp连接对象赋值,每接收一个客户端则生成一个TcpClient
NetworkStream networkStream = tcpClient.GetStream();//获取网络数据流
BinaryReader reader = new BinaryReader(networkStream);//定义流数据并读取对象
BinaryWriter writer = new BinaryWriter(networkStream);//定义流数据并写入对象
while (true)
{
try
{
Console.WriteLine("正在等待接受客户端消息ing.....");
String strReader = reader.ReadString();//接受消息
Console.WriteLine("客户端"+strReader);
Console.WriteLine("请输入你要发送的内容");
String MyWords = "服务端::" + Console.ReadLine();//输入内容
writer.Write(MyWords);//向对方发送消息
}
catch
{
break;
}
}
}
catch
{
}
}
}
}
}
服务端代码:
using System;
using System.Net.Sockets;
using System.Net;
using System.IO;
namespace CsharpStudy_09_21_Client
{
class Program
{
static void Main(string[] args)
{
TcpClient tcpClient= new TcpClient();//创建TCP连接对象,分配主机IP地址和端口号
tcpClient.Connect("127.0.0.1", 8865);//连接服务器,服务器地址,端口号
if (tcpClient != null)
{
Console.WriteLine("客户端::成功连接服务器");
NetworkStream networkStream = tcpClient.GetStream();//获取数据流
BinaryReader reader = new BinaryReader(networkStream);//定义流数据读取对象
BinaryWriter writer = new BinaryWriter(networkStream);//定义流数据写入对象
String LocalIP = "127.0.0.1";//存储本机的IP地址,默认为
IPAddress[] iPAddresses = Dns.GetHostAddresses(Dns.GetHostName());//获取所有的IP地址
foreach (IPAddress ip in iPAddresses) {
if (!ip.IsIPv6SiteLocal) {//如果不是IPV6地址
Console.WriteLine("客户端::这里不是IPV6地址,这个地址是" + ip.ToString());
LocalIP = ip.ToString();
}
while (true)
{
Console.WriteLine("消息已经接受,请回复");
String MyWords = "客户端::" + Console.ReadLine();//输入内容
writer.Write(MyWords);//向对方发送消息
try
{
Console.WriteLine("等待对方消息中ing....");
String strReader = reader.ReadString();//接受服务器发送来的消息
if (strReader != null)
{
Console.WriteLine(strReader);
}
else {
Console.WriteLine("对方暂时无消息");
}
}
catch {
break;
}
}
}
Console.WriteLine("服务器连接失败");
}
}
}
}