Forum

TCP Socket C#T
 
Bildirimler
Hepsini Temizle

TCP Socket C#T

2 Yazılar
2 Üyeler
0 Likes
439 Görüntüleme
(@YALCINOZBEK)
Gönderiler: 6
Active Member
Konu başlatıcı
 

İyi Günler Öncelikle ,

Ben bilgisayarları ağ üzerinden birbirine bağlamak için Client uygulaması yazdım ve bu uygulamada port üzerinden bilgisayarları birbirine bağlayıp veri iletişimi yapmak istiyorum.Veri göndermek için yazdığım kodda sorun yok fakat veriyi alacak olan kod da bir uyarıyla karşılaşıyorum ve işin içinden çıkamadım  .Kodları aşağıda paylaşıyorum.

Bu konuda bana yardımcı olun lütfen , herkese iyi çalışmalar , yardımlarınız içinde şimdiden teşekkürler.

Veri göndermek için yazdığım kod ;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net.Sockets;

using System.IO;

namespace WindowsFormsApplication8

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        string n;

        byte[] b1;

        OpenFileDialog op;

        private void button1_Click(object sender, EventArgs e)

        {

            op = new OpenFileDialog();

            if (op.ShowDialog() == DialogResult.OK)

            {

                string t = textBox1.Text;

                t = op.FileName;

                FileInfo fi = new FileInfo(textBox1.Text = op.FileName);

                n = fi.Name + "." + fi.Length;

                TcpClient client = new TcpClient("SwtRascal", 5055);

                StreamWriter sw = new StreamWriter(client.GetStream());

                sw.WriteLine(n);

                sw.Flush();

                label1.Text = "File Transferred....";

            }

        }

        private void button2_Click(object sender, EventArgs e)

        {

            TcpClient client = new TcpClient("SwtRascal", 5050);

            Stream s = client.GetStream();

            b1 = File.ReadAllBytes(op.FileName);

            s.Write(b1, 0, b1.Length);

            client.Close();

            label1.Text = "File Transferred....";

        }

    }

} 

 

 

Veriyi alacak olan bilgisayar için yazdığım kod ;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net.Sockets;

using System.IO;

using System.Net;

namespace servera

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        string rd;

        byte[] b1;

        string v;

        int m;

        TcpListener list;

        Int32 port = 5050;

        Int32 port1 = 5055;

        //IPAddress localAddr = IPAddress.Parse("192.168.1.20");

        private void Button1_Click(object sender, EventArgs e)

        {

            if (folderButton1Dialog1.ShowDialog() == DialogResult.OK)

            {

                textBox1.Text = folderButton1Dialog1.SelectedPath;

                //TcpListener list = new TcpListener(localAddr,port1);

                list = new TcpListener(port1);

                list.Start();

                TcpClient client = list.AcceptTcpClient();

                Stream s = client.GetStream();

                b1 = new byte[m];

                s.Read(b1, 0, b1.Length);

                File.WriteAllBytes(textBox1.Text + "\\" + rd.Substring(0, rd.LastIndexOf('.')), b1);

                list.Stop();

                client.Close();

                label1.Text = "File Received......";

            }

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            //TcpListener list = new TcpListener(localAddr, port);

            TcpListener list = new TcpListener(port);

            list.Start();

            TcpClient client = list.AcceptTcpClient();

            MessageBox.Show("Client trying to connect");

            StreamReader sr = new StreamReader(client.GetStream());

            rd = sr.ReadLine();

            v = rd.Substring(rd.LastIndexOf('.') + 1);

            m = int.Parse(v);

            list.Stop();

            client.Close();

        }

    }

}

 

 
Gönderildi : 30/07/2015 15:06

(@eravse)
Gönderiler: 1753
Üye
 

merhaba aşağıddaki link örneği ile beraber size yardımcı olacaktır.

http://www.codeproject.com/Articles/1415/Introduction-to-TCP-client-server-in-C

 

saygılar 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 31/07/2015 02:30

Paylaş: