public void OpenSendFile(SelectPartnerForm spform) { //A küldő a szerver - 2014.06.15. //Fogadás: //sendfile üzenet if (openFileDialog1.ShowDialog() == DialogResult.Cancel) return; Stream st = new FileStream(openFileDialog1.FileName, FileMode.Open); try { if (new FileInfo(openFileDialog1.FileName).Length > Int64.Parse(Storage.Settings["filelen"])) { List<byte> buf = new List<byte>(); int b; do { b = st.ReadByte(); buf.Add((byte)b); } while (b != -1); st = new MemoryStream(buf.ToArray(), false); } } catch (OutOfMemoryException) { //A MemoryStream-et nem hozza létre, ezzel elméletileg memóriát felszabadítva st.Seek(0, SeekOrigin.Begin); } IPHostEntry host; IPAddress localIP = IPAddress.Parse("127.0.0.1"); host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily == AddressFamily.InterNetwork) { localIP = ip; break; } } //string ret = Networking.SendRequest("setip", spform.Partners[0] + 'ͦ' + localIP.ToString() + ":" + Settings.Default.port + ":" + openFileDialog1.FileName, 0, true); //var ipAddr = IPAddress.Parse(ret); IPAddress ipAddr = null; //Használja fel a partner ismert IP-címét Socket sListener; SocketPermission permission; permission = new SocketPermission(NetworkAccess.Accept, TransportType.Tcp, "", SocketPermission.AllPorts); sListener = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp); var ipEndPoint = new IPEndPoint(ipAddr, Int32.Parse(Storage.Settings["port"])); sListener.Listen(1); ST = st; //Átadja az adatfolyamot a nyilvánosabb változónak AsyncCallback aCallback = new AsyncCallback(SendFile_AcceptCallback); sListener.BeginAccept(aCallback, sListener); }
private void SelectPartner(object sender, EventArgs e) { var form = new SelectPartnerForm((ToolStripMenuItem)sender); DialogResult dr = form.ShowDialog(); if (dr == DialogResult.OK) { //2014.04.25. string[] partners = form.Partners; ChatPanel tmpchat = new ChatPanel(); for (int i = 0; i < partners.Length; i++) { if (partners[i] != "") //2014.04.17. { for (int j = 0; j < UserInfo.KnownUsers.Count; j++) { if (!UserInfo.KnownUsers[j].IsPartner) { continue; } int tmp; //2014.04.17. if (!Int32.TryParse(partners[i], out tmp)) { tmp = -1; } if (UserInfo.KnownUsers[j].UserName == partners[i] || UserInfo.KnownUsers[j].Email == partners[i] || UserInfo.KnownUsers[j].UserID == tmp) { //Egyezik a név, E-mail vagy ID - UserName: 2014.04.17. tmpchat.ChatPartners.Add(UserInfo.KnownUsers[j]); //2014.08.28. } } } } if (tmpchat.ChatPartners.Count != 0) { ChatPanel.ChatWindows.Add(tmpchat); if (sender == fájlKüldéseToolStripMenuItem) { //tmpchat.Show(); tmpchat.Init(); tmpchat.OpenSendFile(form); } if (sender == azonnaliÜzenetKüldéseToolStripMenuItem) { //tmpchat.Show(); tmpchat.Init(); } } } }