/// <summary> /// ��Է�UDP�˿ڷ����������� /// </summary> private void UdpHandshake() { try { CSS.IM.Library.Class.msgFile msg = new CSS.IM.Library.Class.msgFile(); if (!UdpHandshakeInfoClass)//���Ϊ���������� { msg.InfoClass = (byte)CSS.IM.Library.Class.ProtocolFileTransmit.HandshakeLAN; this.sockUDP1.Send(this.OppositeUDPIP, this.OppositeUDPPort, msg.getBytes()); } else if (UdpHandshakeInfoClass)//���Ϊ���������� { msg.InfoClass = (byte)CSS.IM.Library.Class.ProtocolFileTransmit.HandshakeWAN; this.sockUDP1.Send(this.OppositeUDPIP, this.OppositeUDPPort, msg.getBytes()); } } catch { } }
/// <summary> /// UDP���ݵ����¼� /// </summary> /// <param name="e">UDP���ݲ���</param> private void sockUDP1_DataArrival(object sender,CSS.IM.Library.Net.SockEventArgs e) { //if (e.Data.Length < 10) return; CSS.IM.Library.Class.msgFile msg = new CSS.IM.Library.Class.msgFile(e.Data); this.DataArrival(msg,CSS.IM.Library.Class.NatClass.FullCone, e.IP,e.Port); }
private void asyncTCPClient1_OnConnected(object sender, CSS.IM.Library.Net.SockEventArgs e) { //CSS.IM.Library.Calculate.WirteLog("������"); CSS.IM.Library.Class.msgFile msg = new CSS.IM.Library.Class.msgFile((byte)CSS.IM.Library.Class.ProtocolFileTransmit.GetFileTransmitProxyID, -1, -1, 0, new byte[1]); this.asyncTCPClient1.SendData(msg.getBytes());//�������������ת����ID�� }
private void asyncTCPClient1_OnDataArrival(object sender, CSS.IM.Library.Net.SockEventArgs e) { //if (e.Data.Length < 10) return; CSS.IM.Library.Class.msgFile msg = new CSS.IM.Library.Class.msgFile(e.Data); this.DataArrival(msg,CSS.IM.Library.Class.NatClass.Tcp ,null,0); }
/// <summary> /// ���öԷ��ļ�����UDP���ض˿� /// </summary> /// <param name="Port">�ļ�����UDP���ض˿�</param> public void setFileTransmitGetUdpLocalPort(IPAddress ip,int Port, bool udpHandshakeInfoClass) { this.ServerIp = ip; this.OppositeUDPIP = ip; this.OppositeUDPPort = Port;//���öԷ�UDP�˿ں� this.UdpHandshakeInfoClass = udpHandshakeInfoClass; System.Threading.Thread.Sleep(100); if (!udpHandshakeInfoClass)//����Լ���δUDP����,���þ�������ʽͨ�� { if (!this.sockUDP1.Listened)//���û������ this.UDPListen();//���UDP���� if (!this.IsGetLanUDP && this.fileTransmitGetUDPPort != null)//��֮�Է����ض˿ڣ�������ö˿��¼� { this.IsGetLanUDP = true;//��ʶ�Ѿ�������LAN UDP�¼� this.fileTransmitGetUDPPort(this, this.selfUDPPort, false); } //Calculate.WirteLog(this._IsSend.ToString() + "����Լ���δUDP����,���þ�������ʽͨ��"); } else if (udpHandshakeInfoClass)//���ù�������ʽͨ�� { if (!this.sockUDP1.Listened)//���û������ this.UDPListen();//���UDP���� CSS.IM.Library.Class.msgFile msg = new CSS.IM.Library.Class.msgFile(); msg.InfoClass = (byte)CSS.IM.Library.Class.ProtocolFileTransmit.GetUDPWANInfo;//ͨ��Э�� this.sockUDP1.Send(ServerIp, _serverUDPPort, msg.getBytes());//����ļ��������ֵĹ�����UDP�˿� //Calculate.WirteLog(this._IsSend.ToString() + "����ļ��������ֵĹ�����UDP�˿�"); } if (!timersUdpPenetrate.Enabled)//���δ���֣���ʼ���� timersUdpPenetrate.Enabled = true;//��ʼ��Է�UDP�˿�����(��),����ɹ�����ʾ���Խ���UDPͨ�� }