@HiLevel
Нет лучше кода, как говно у входа

Как настроить сокеты C#?

Здравствуйте! Такая проблема возникла. Нужно что бы клиент и сервер обменивались данными друг с другом, т.е. Клиент мог слушать и посылать данные и сервер обладал такими же характеристиками.
Вот сервер
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        public void getText ()
        {
            socket.Bind(new IPEndPoint(IPAddress.Any, 80));
            socket.Listen(1000000);
                Socket client = socket.Accept();
                byte[] buffer = new byte[1024];
                client.Receive(buffer);
                Console.WriteLine(Encoding.ASCII.GetString(buffer));
                Console.ReadKey();
        }

А вот сам клиент
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        public void connect()
        {

            socket.Connect("127.0.0.1", 80);
        }
        public void GiveOnline (string message)
        {
            connect();
            byte[] buffer = Encoding.ASCII.GetBytes(message);
            socket.Send(buffer);
            socket.Bind(new IPEndPoint(IPAddress.Any, 8080));
            socket.Listen(1);
            socket.Accept();
            socket.Receive(buffer);

        }

Проблема заключается в том, что при запуске клиента, он ругается на строку с IPEndPoint:
Необработанное исключение типа "System.Net.Sockets.SocketException" в System.dll
Получен недопустимый аргумент

Порты разные юзаю (на форуме прочитал, что в этом проблема, но ничего не помогло)

System.Net.Sockets.SocketException
HResult=0x80004005
Сообщение = Получен недопустимый аргумент
Источник = System
Трассировка стека:
в System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
в System.Net.Sockets.Socket.Bind(EndPoint localEP)
в Client.Give.GiveOnline(String message) в C:\Users\Дом\source\repos\Client\Client\Give.cs:строка 24
в Client.Program.Main(String[] args) в C:\Users\Дом\source\repos\Client\Client\Program.cs:строка 14
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
shai_hulud
@shai_hulud
https://stackoverflow.com/questions/1777629/how-to...

> You cannot bind a single socket to multiple endpoints. A SocketException (invalid argument error) occurs the second time you call Bind() for a given socket.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ИММА Москва
До 120 000 руб.
Кнопка Екатеринбург
До 150 000 руб.
PHYGITALISM Москва
от 70 000 руб.
19 марта 2019, в 01:16
5000 руб./за проект
19 марта 2019, в 00:14
1000 руб./в час
18 марта 2019, в 23:00
2000 руб./за проект