Я беру класс прямо сейчас, когда некоторые из примеров находятся на C#. Поскольку мой ноутбук работает под управлением Linux, я использую Mono 2.6.7 на Ubuntu.Моно говорит: «System.Net.Dns.GetHostEntry (string)» недоступен из-за его уровня защиты
Я пытаюсь скомпилировать следующий код:
using System.Net.Sockets;
using System.Net;
using System;
/// <summary>
/// Example program showing simple TCP socket connections in C#.NET.
/// Rather than reading and writing byte arrays, this example show
/// how to use a stream reader in the client.
/// TCPSocketServer is the socket server.
/// <author>Tim Lindquist ASU Polytechnic Department of Engineering</author>
/// <version>September, 2009</version>
/// </summary>
public class TCPSocketServer {
public static void Main (string [] args) {
IPAddress ipAddress = Dns.GetHostEntry("localhost").AddressList[0];
TcpListener tcpl = new TcpListener(ipAddress, 9090);
tcpl.Start();
Console.WriteLine("TCPSocketServer waiting for connections on 9090");
Socket sock = tcpl.AcceptSocket();
string msg = "Hello Client";
Byte[] msgBytes = System.Text.Encoding.ASCII.GetBytes(msg);
sock.Send(msgBytes, msgBytes.Length, SocketFlags.DontRoute);
Console.WriteLine("Message-Hello Client-sent to client.");
tcpl.Stop();
sock.Close();
}
}
Когда я компиляции кода, я получаю:
/home/vivin/Projects/cst420/CSSockets/src/TCPSocketServer.cs(16,31): error CS0122: `System.Net.Dns.GetHostEntry(string)' is inaccessible due to its protection level
/usr/lib/mono/gac/System/1.0.5000.0__b77a5c561934e089/System.dll (Location of the symbol related to previous error)
ompilation failed: 1 error(s), 0 warnings
Я C# новичок; это первая программа на C#, которую я когда-либо компилировал. Я попробовал поиск в Google, но у меня не было очень много хитов для этой проблемы. Это проблема с Mono?
В ретроспективе «Система/1.0.5000.0__b77a5c561934e089» должна была быть отдачей :) –
Вот и все! Я использовал 'mcs'. Когда я использовал 'gmcs', проблема исчезла. Благодаря! –