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