моя функция отправки (библиотеки сокетов: system.net & system.net.sockets) имеет некоторые ошибки - PullRequest
1 голос
/ 11 июня 2019

Я программирую клиент-серверное приложение на c #

Мой код:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Net.Sockets;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {   }

        private void button1_Click(object sender, EventArgs e)
        {
            ///openfile
            OpenFileDialog file = new OpenFileDialog();
            if (file.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = file.FileName;
            }
        }

        private void label2_Click(object sender, EventArgs e)
        {   }

        private void label3_Click(object sender, EventArgs e)
        {   }

        private void button2_Click(object sender, EventArgs e)
        {
            //Socket send = new Socket(addressFamily.internetwork,                                    
            socketType.stream, protocolType.tcp);
            Socket send = new Socket(AddressFamily.InterNetwork,                                    
            SocketType.Stream, ProtocolType.Tcp);
            IPEndPoint port = new 
            IPEndPoint(IPAddress.Parse(ip.Text),int.Parse(Port.Text));
            send.Send(port);
        }

        private void Form1_Load(object sender, EventArgs e)
        {   }

        private void label4_Click(object sender, EventArgs e)
        {   }

        private void label3_Click_1(object sender, EventArgs e)
        {   }
    }
}

и моя ошибка:

Ошибка 2 Лучшаясоответствие перегруженного метода System.Net.Sockets.Socket.Send (System.Collections.Generic.IList>) 'содержит недопустимые аргументы C: \ Users \ Acer \ AppData \ Local \ Temporary Projects \ WindowsFormsApplication1 \ Form1.cs 53 13 WindowsFormsApplication1

и ошибка 3, аргумент 1: невозможно преобразовать из 'System.Net.IPEndPoint' в 'System.Collections.Generic.IList>' C: \ Users \ Acer \ AppData \ Local \ Temporary Projects \ WindowsFormsApplication1 \ Form1.cs 53 23 WindowsFormsApplication1

1 Ответ

0 голосов
/ 11 июня 2019

IpEndPoint не относится к методу Send . Этот метод хочет, чтобы данные передавались. EndPoint относится к методу Connect .

Отсюда и ваше сообщение об ошибке.

Вы обязательно хотите сначала подключиться, прежде чем пытаться отправить данные:

send.Connect(port);

изображение или каждый файл

Если вы хотите отправлять фотографии через сокет, вы должны взглянуть на этот пост

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...