نمایش نتایج 1 تا 10 از 10

نام تاپیک: socket exeption

  1. #1
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    socket exeption

    از کلاس سرور و کلانیت دوتا شی می سازم و بعد اجراشون می کن.اما این مشکل رو می ده:
    Specified argument was out of the range of valid values.

    سلام.من نمی دونم اینو چکار کنم.لطفا کمک کنید
    private int _port;
    private string _IPserver="";
    public int _Port
    {
    get
    {
    return _port;
    }
    set
    {
    _port = value;
    }
    }

    public string _ipServer
    {
    get
    {
    return _IPserver;
    }
    set
    {
    _IPserver = value;
    }
    }
    public void Connect()
    {
    Thread th = new Thread(new ThreadStart(StartConnect));
    th.Start();
    Console.WriteLine("Server IP : {0}", _ipServer);
    }

    public void StartConnect()
    {
    string msg = "I am client";
    string msg2 = "";
    byte[] byteData = new byte[1000];
    byteData = Encoding.UTF8.GetBytes(msg);
    byte[] byteDataRec = new byte[1000];

    // a client to Connect to server
    EndPoint IPe=new IPEndPoint(IPAddress.Parse("127.0.0.1"),_port);

    //IPEndPoint IPe=new IPEndPoint(IPAddress.Parse(_IPserver),_port);
    try
    {
    Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    listener.Connect(IPe);
    //_IPserver = ((IPEndPoint)listener.RemoteEndPoint).Address.ToSt ring();
    //listener.Shutdown(SocketShutdown.Both);
    if (listener.Connected)
    {
    listener.Receive(byteDataRec);
    msg2 = Encoding.UTF8.GetString(byteDataRec);
    if (msg2 == "I am server")
    {
    listener.Send(byteData);
    }
    }
    }
    catch (SocketException e)
    {
    Console.WriteLine("error in winsocket: {0}", e.Message);
    }
    }

    اینم سمت کلاینت هست:
    public class ConnectToClient
    {
    public ArrayList _NodeInfo=new ArrayList();

    private int _port;
    public int _Port
    {
    get
    {
    return _port;
    }
    set
    {
    _port = value;
    }
    }
    public void Connect()
    {
    Thread th = new Thread(new ThreadStart(StartListening));
    th.Start();
    //string IPClient = (string)_NodeInfo[0];
    //Console.WriteLine("Server IP : {0}", IPClient);
    }
    public void StartListening()
    {
    string msg = "I am server";
    string msg2="";
    byte[] byteDataRec = new byte[1000];
    byte[] byteData = new byte[1000];
    byteData = Encoding.UTF8.GetBytes(msg);
    string IPclient;
    int i = 0;
    //IPEndPoint IPe=new IPEndPoint(IPAddress.Any,_port);

    IPEndPoint IPe = new IPEndPoint(IPAddress.Parse("127.0.0.1"), _port);

    Socket[] Client = new Socket[100];

    Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    listener.Bind(IPe);
    listener.Listen(1000);
    while (true)
    {
    Client[i] = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    Client[i] = listener.Accept();

    IPclient = ((IPEndPoint)Client[i].RemoteEndPoint).Address.ToString();

    i++;
    if (listener.Connected)
    {
    listener.Send(byteData);
    listener.Receive(byteDataRec);
    msg2 = Encoding.UTF8.GetString(byteDataRec);

    if (msg2=="I am clinet")
    {
    _NodeInfo.Add(IPclient);
    }
    }
    }
    }

  2. #2
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    نقل قول: socket exeption

    اصلا ببنید کد من درست هست یا نه ممنون

  3. #3
    کاربر تازه وارد آواتار Sociant
    تاریخ عضویت
    آبان 1387
    محل زندگی
    اراک
    پست
    88

    نقل قول: socket exeption

    این خط تو قسمت سرور (اشتباهی نوشتین کلاینت منم نزدیک بود گمراه کنی) اضافیه

    Client[i] = new Socket(AddressFamily.InterNetwork,SocketType.Strea m,ProtocolType.Tcp;


    نباید با استفاده از listener ارسال و دریافت کنی ، باید با همونClient[i] این کار رو انجام بدین.
    نکته مهم تر،_port رو مقدار دهی میکنید؟

  4. #4
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    نقل قول: socket exeption

    بله.پورتم مقدار دهی کردم.ولی بازم 1 خطای دیگه می گیره:
    Only one usage of each socket address (protocol/network address/port) is normally permitted
    آقا ممنون .

  5. #5
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    نقل قول: socket exeption

    کمک کنید لطفا

  6. #6
    کاربر تازه وارد آواتار Sociant
    تاریخ عضویت
    آبان 1387
    محل زندگی
    اراک
    پست
    88

    نقل قول: socket exeption

    والا تا اونجا که سوادم قد میده این خطا مال وقتیه که پورت تعیین شده بوسیله شما در حال استفاده است. راستی اگه هر دوتا کد رو داری رو یه سیستم اجرا میکنی حتما باید شماره پورتاشون متفاوت باشه You know?

  7. #7
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    نقل قول: socket exeption

    شماره پورتشون هم متفاوت هست اما بازم جواب نمی ده.من حتی دوتا کد واسه خودم مثال زدم (رو یک سیستم ) دیدم جواب نمی ده و باز همون خطا رو میده.اگه ممنه یک نگاه بندازید
    سمت سرور:
    namespace testServer
    {
    class Server
    {
    public void Connect()
    {
    Start();
    }
    public void Start()
    {
    Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    IPEndPoint IPe = new IPEndPoint(IPAddress.Any, 13001);
    listener.Bind(IPe);
    listener.Listen(100);
    listener.Accept();
    }
    }
    class Program
    {
    static void Main(string[] args)
    {
    Server ser = new Server();
    ser.Connect();
    }
    }
    }

    و اینم کلاینت
    namespace testClient
    {
    class Client
    {
    public void Connect()
    {
    Start();
    }
    private void Start()
    {
    Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    IPEndPoint IPe = new IPEndPoint(IPAddress.Parse("192.168.1.1"), 14100);
    listener.Connect(IPe);
    }
    }
    class Program
    {
    static void Main(string[] args)
    {
    Client cl = new Client();
    cl.Connect();
    }
    }
    }


  8. #8
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    نقل قول: socket exeption

    آقا ممنون.کلا از کدی که در یک تاپیک دیگه گذاشته بودید استفاده کردم و درستش کردم.ولی کد بالا مشکلش حل نشد.

  9. #9
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    نقل قول: socket exeption

    کسی نیست مشکل من رو حل کنه؟
    واقعا چرا باید این کد مشکل داشته باشه.خطاش هم میگه که اصلا هیچ اتصالی بین کلاینت و سورور برقرار نیست.

  10. #10
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    نقل قول: socket exeption

    نقل قول نوشته شده توسط Sociant مشاهده تاپیک
    والا تا اونجا که سوادم قد میده این خطا مال وقتیه که پورت تعیین شده بوسیله شما در حال استفاده است. راستی اگه هر دوتا کد رو داری رو یه سیستم اجرا میکنی حتما باید شماره پورتاشون متفاوت باشه You know?
    دوست عزیز وقتی پورت رو عوض می کنی که اصلا جواب نمی ده.باید پورت ها یکی باشه

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •