Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Lỗi socket Client và server không thể kết nối với nhau sau lần build đầu tiên C#

09:57 10-08-2018 1.655 lượt xem 1 bình luận 09:43 11-08-2018

Tiêu đề có lẽ đã hơi bị hắc rồi, quý anh chị và các bạn thông cảm dùm.

Chả là mình có làm theo cái hướng dẫn của a Long đẹp trai, ứng dụng socket để tạo game Caro chơi desktop.

Đến khúc làm thử kết nối 2 cái ứng dụng để cho nó "thông nhau", khi run lần đầu tiên, nó cho thấy đã thông được với nhau, bên client gửi một thông báo, bên server đã nhận được và quăng cái thông báo ra mặt mình.

Nhưng mình tắt đi, xong bật lại cả 2 cái và thử làm lại như trên thì nó không thấy gì, cũng chẳng chịu ném bất kỳ cái lỗi nào ra mặt. Sau khoảng 10 phút, mình Rebuild solu thì thỉnh thoảng nó chạy được, thỉnh thoảng nó lại không động đậy gì ?

Mình dự đoán do cái socket mình tạo, thông nhau, sau đó mình thoát form chưa despond nó, nên mình thử thêm mấy bác này vào trong FormClosing(): 

Environment.Exit(0);

        client.Shutdown(SocketShutdown.Both);
        client.Disconnect(true);
        client.Close();

Các thể loại, nhưng đều không có hiệu quả.

Mọi người có thể ném cho mình một giải pháp xử lý thằng này được không ạ ?

Cám ơn đã đọc.

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Dinh Tona đã bình luận 09:43 11-08-2018

Viết thêm một Void Shutdown hết là ok:

    public void Despond()
    {
        if (!isServer)
        {
            if (client != null)
            {
                client.Shutdown(SocketShutdown.Both);
                client.Close();
            }
        }
        else
        {
            if (server != null)
            {
                client.Shutdown(SocketShutdown.Both);
                server.Close();
            }
        }
        //Environment.Exit(0);
        Environment.Exit(Environment.ExitCode);
    }

Thực sự cái Socket đúng là củ chuối, mỗi lần nó throw lỗi là nó treo luôn k chịu close, chỉnh như thế này tạm thời thấy chạy dc.

Đúng là cầu người nõ bằng cầu mình ~~

Cám ơn mọi người đã quan tâm nhé !

Câu hỏi mới nhất