TcpConnect 类
using MyFactrory.Controler;
using MyFactrory.Model;
using System;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Threading.Tasks;
using System.Windows;
namespace MyFactrory.Data
{
class TankTcpConnect
{
string ip = "";
int socket = 0;
public Socket? SocketServer {
get; set; }
public byte[] buffer {
get; set; } = new byte[2048];
private int offset = 0;
private NormalControler? tankControler;
public TankTcpConnect(string ip, int socket, NormalControler tankControler)
{
this.ip = ip;
this.socket = socket;
this.tankControler = tankControler;
InitTcpConnect(ip, socket);
}
#region 初始化连接和开启连接,侦听连接点
private void InitTcpConnect(string ip, int socket)
{
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint point = new IPEndPoint(IPAddress.Parse(ip), socket);
try {
server.Bind(point); }
catch (Exception ex)
{
MessageBox.Show($"端口打开失败:{
ex.Message} 是否有其它进程占用端口?");