📄 network.cs
字号:
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace 五子棋
{
/// <summary>
/// NetWork 的摘要说明。
/// </summary>
public class NetWork
{
public NetWork()
{
}
public string sta,infor;
private string ip;
public Thread thread;
System.Net.Sockets.TcpListener tcpl;
bool listenerRun=true;
public string IP
{
get{return ip;}
set{ip=value;}
}
public static string getmyIP()
{
String name = Dns.GetHostName();
IPHostEntry ips = Dns.GetHostByName(name);
return ips.AddressList[0].ToString();
}
public string getHostIP()
{
String name = Dns.GetHostName();
IPHostEntry ips = Dns.GetHostByName(name);
return ips.AddressList[0].ToString();
}
/// <summary>
/// 开一个线程监听网络
/// </summary>
public void Listen()
{
thread=new Thread(new ThreadStart(listen));
thread.Start();
}
private void listen()
{
string ip=getHostIP();
try
{
tcpl = new TcpListener(IPAddress.Parse(ip), 5656);
tcpl.Start();
sta= "正在监听...";
while(listenerRun)
{
Socket s = tcpl.AcceptSocket();
Byte[] stream = new Byte[80];
int i=s.Receive(stream) ;
string message =System.Text.Encoding.UTF8.GetString(stream);
infor=message;
}
}
catch(System.Security.SecurityException)
{
sta="防火墙安全错误!";
}
catch(Exception ex)
{
sta = "已停止监听!"+ex.Message;
}
}
/// <summary>
/// 停止监听
/// </summary>
public void StopListen()
{
listenerRun=false;
tcpl.Stop();
}
public void Send(ref string sta,string infor)
{
try
{
string msg =infor;
TcpClient tcpc = new TcpClient(ip, 5656);
NetworkStream tcpStream = tcpc.GetStream();
StreamWriter reqStreamW = new StreamWriter(tcpStream);
reqStreamW.Write(msg);
reqStreamW.Flush();
tcpStream.Close();
tcpc.Close();
}
catch
{
sta = "目标计算机拒绝连接请求!";
}
}
public void Send(string infor)
{
string msg =infor;
TcpClient tcpc = new TcpClient(ip, 5656);
NetworkStream tcpStream = tcpc.GetStream();
StreamWriter reqStreamW = new StreamWriter(tcpStream);
reqStreamW.Write(msg);
reqStreamW.Flush();
tcpStream.Close();
tcpc.Close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -