我的发送功能(socket库:system.net和system.net.sockets)有一些错误

时间:2019-06-11 09:46:15

标签: c# sockets

我正在用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 :(得分:0)

IpEndPoint不属于Send方法。此方法希望传输数据。 EndPoint属于Connect方法。

出现错误消息。

您肯定要先尝试连接,然后再尝试发送数据:

send.Connect(port);
  

图片或每个文件

如果要通过套接字发送图片,则应查看this post