Подключение сервера и передача данных с него с помощью IP-адреса и порта в приложении C# windows
Я хочу подключить сервер, используя IP-адрес и порт, и передать файлы данных буровой установки на мою локальную машину.
Это могут быть интранет-системы или удаленные системы. Пожалуйста, помогите мне. Я только что попробовал этот код, но ошибка как
Возникло исключение: 'System.Net.Sockets.Исключения socketexception в System.dll.
когда он достигает линии--socket.bind(ipEnd);
Пожалуйста, помогите мне. Большое спасибо.
Что я уже пробовал:
string host; int port= 5040; host = Convert.ToString("192.162.0.47"); //IPAddress[] IPs = Dns.GetHostAddresses(host); IPEndPoint ipEnd = new IPEndPoint(IPAddress.Parse(host), 5040); Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sock.Bind(ipEnd); sock.Listen(100); Socket clientSock = sock.Accept(); byte[] clientData = new byte[1024 * 5000]; string receivedPath = "Projects/"; int receivedBytesLen = clientSock.Receive(clientData); int fileNameLen = BitConverter.ToInt32(clientData, 0); string fileName = Encoding.ASCII.GetString(clientData, 4, fileNameLen); Console.WriteLine("Client:{0} connected & File {1} started received.", clientSock.RemoteEndPoint, fileName); BinaryWriter bWrite = new BinaryWriter(File.Open(receivedPath + fileName, FileMode.Append)); ; bWrite.Write(clientData, 4 + fileNameLen, receivedBytesLen - 4 - fileNameLen); Console.WriteLine("File: {0} received & saved at path: {1}", fileName, receivedPath); bWrite.Close(); clientSock.Close(); Console.ReadLine();
Greg Utas
У меня нет опыта работы с C#, но с winsock2.h (C/C++) вы должны вызвать WSAStartup, прежде чем делать какие-либо сетевые вещи. Требуется ли что-то подобное в C#?