설정된 연결이 호스트 시스템의 소프트웨어에 의해 중단되었습니다.

Farshad hn

일부 주제에서 내 대답을 찾을 수 없습니다. 클라이언트 / 서버 코드가 있습니다. 별도의 프로그램에 클라이언트 측과 서버 측이 있습니다. 이것은 클라이언트 측입니다.

 try
        {

        byte[] bytes = new byte[1024];
        string text = "";
        text = uitbtextmsg.Text;
        byte[] msg = Encoding.ASCII.GetBytes(text);
        int bytesSent = User.Send(msg);
        int bytesRec = User.Receive(bytes);

        uirtbmsg.Text = uirtbmsg.Text + '\n' + " " + text;
        }
        catch (Exception E)
        {
            MessageBox.Show(E.ToString());
        }

이것은 내가 서버에 연결되어 있고 그 소켓과 채팅하고 싶을 때입니다. 이것은 내 연결입니다.

            byte[] bytes = new byte[1024];
            IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
            IPAddress ipAddress = ipHostInfo.AddressList[2];
            IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);
            Socket User = new Socket(AddressFamily.InterNetwork,
            SocketType.Stream, ProtocolType.Tcp);
            User.Connect(remoteEP);

그리고 이것은 서버 측입니다.

 byte[] bytes = new Byte[1024];
        IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
        IPAddress ipAddress = ipHostInfo.AddressList[2];
        IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);
        Socket listener = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream, ProtocolType.Tcp);
        try
        {
            listener.Bind(localEndPoint);
            listener.Listen(10000);
            while (true)
            {
                Socket handler = listener.Accept();
                data = null;
                while (true)
                {
                    bytes = new byte[1024];
                    int bytesRec = handler.Receive(bytes);
                    data += Encoding.ASCII.GetString(bytes, 0, bytesRec);
                    TextRecieved = data;
                    Thread textbox = new Thread(new ThreadStart(WriteInReachTextBox));
                    textbox.Start();
                    break;
                }

                //uirtbreport.Text = data;
                byte[] msg = Encoding.ASCII.GetBytes(data);
                handler.Send(msg);
                handler.Shutdown(SocketShutdown.Both);
                handler.Close();
            }

        }
        catch (Exception e)
        {
            MessageBox.Show(e.ToString());
        }

클라이언트가 처음 서버에 메시지를 보낼 때이 절차는 괜찮습니다! 그러나 다른 메시지를 보내면 예외가 발생합니다.

System.Net.Socket.SocketException (0x80004005) : 시스템의 System.Net.Sockets.Socket.Receive (Byte [] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)에서 호스트 컴퓨터의 소프트웨어에 의해 설정된 연결이 중단되었습니다. .Net.Sockets.Socket.Receive (Byte [] buffer) \ r \ n at Client.Form1.uibtnsendmsg_Click (Object sender, EventArgs e) in ...

Jeroen van Langen

아마도 당신이 while 루프를 깨고 있기 때문일 것입니다 (내 의견을보십시오)

while (true)
{
    Socket handler = listener.Accept();
    data = null;

    while (true)
    {
        bytes = new byte[1024];
        int bytesRec = handler.Receive(bytes);

        data += Encoding.ASCII.GetString(bytes, 0, bytesRec);
        TextRecieved = data;
        Thread textbox = new Thread(new ThreadStart(WriteInReachTextBox));
        textbox.Start();

        // -----------> HERE!!!!!!

        break;
    }

    //uirtbreport.Text = data;
    byte[] msg = Encoding.ASCII.GetBytes(data);
    handler.Send(msg);
    handler.Shutdown(SocketShutdown.Both);
    handler.Close();
}

왜 '깨진'루프 내에 스레드를 생성합니까?

또한 이것이 스트리밍 소켓이라는 것을 잊지 마십시오. 이는 '패킷'을 하나의 버퍼로 보내거나 여러 '패킷'으로 분할 할 수 있음을 의미합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django : [WinError 10053] 설정된 연결이 호스트 컴퓨터의 소프트웨어에 의해 중단되었습니다.

분류에서Dev

때 java.io.IOException : 연결은 셀레늄 자바 Sendkey ()와 호스트 컴퓨터에서 소프트웨어에 의해 중단되었습니다

분류에서Dev

Ubuntu18.04의 시스템 설정에 소프트웨어 및 업데이트 옵션이 없습니다.

분류에서Dev

VPN에 연결된 경우에만 ssh 오류 : "쓰기 : 소프트웨어로 인해 연결이 중단되었습니다."

분류에서Dev

Samba : 소프트웨어로 인해 연결이 중단되었습니다.

분류에서Dev

시스템 업데이트로 인해 시스템이 거의 중단되었습니다.

분류에서Dev

SSH-소프트웨어로 인해 단일 로그인에 대한 연결이 중단되었습니다.

분류에서Dev

SSH 네트워크 오류 : 소프트웨어로 인해 연결이 중단되었습니다.

분류에서Dev

SSH 네트워크 오류 : 소프트웨어로 인해 연결이 중단되었습니다.

분류에서Dev

PuTTY (SSH) (tracert) 네트워크 오류 : 소프트웨어로 인해 연결이 중단되었습니다.

분류에서Dev

ConnectionAbortedError : [Errno 53] 소프트웨어로 인해 연결이 중단되었습니다.

분류에서Dev

다른 노드의 정의에 정의 된 Puppet 설치 소프트웨어

분류에서Dev

소프트웨어 업데이터가 시스템에있는 둘 이상의 소프트웨어 보관소에서 제대로 작동합니까?

분류에서Dev

네트워크 오류 : 소프트웨어로 인해 Linux에서 복사하는 동안 연결이 중단되었습니다.

분류에서Dev

소프트웨어 설치 스크립트에 "ifconfig에 정의되지 않은 루프백"이 표시됩니다.

분류에서Dev

postgresql 11.5-공유 메모리 세그먼트 "/PostgreSQL.xxx"의 크기를 yyy 바이트로 조정할 수 없습니다. 시스템 호출이 중단되었습니다.

분류에서Dev

호스트 포트 22 연결이 거부되었지만 포트 22 연결이 설정된 다른 호스트에 연결

분류에서Dev

FaunaDB의 "동시 수정 감지로 인해 트랜잭션이 중단되었습니다."

분류에서Dev

소프트웨어 구성-파일 시스템의 어디에 있습니까?

분류에서Dev

양식을 제출할 때 <URL>의 교차 사이트 리소스와 연결된 쿠키가`SameSite` 속성없이 설정되었습니다.

분류에서Dev

소프트웨어 엔지니어링에서 시스템의 하위 시스템 및 구성 요소

분류에서Dev

설치 중에 루트 파일 시스템이 정의되지 않은 경우 어떻게해야합니까?

분류에서Dev

설치 중에 루트 파일 시스템이 정의되지 않은 경우 어떻게해야합니까?

분류에서Dev

설치 중에 루트 파일 시스템이 정의되지 않은 경우 어떻게해야합니까?

분류에서Dev

새 소프트웨어를 설치하기 전에 이전 버전의 소프트웨어를 제거해야합니까?

분류에서Dev

새 소프트웨어를 설치하기 전에 이전 버전의 소프트웨어를 제거해야합니까?

분류에서Dev

추가 소프트웨어없이 Win10의 컨텍스트 메뉴 맨 위에 "연결 프로그램"이 표시됩니까?

분류에서Dev

고 가용성 오류“데이터 수신 중 오류 발생 : '10054 (원격 호스트에 의해 기존 연결이 강제로 종료되었습니다.)'.”

분류에서Dev

mod_perl2 with apache 2.22 Apache2 :: RequestIO :: print : (103) 소프트웨어로 인해 연결이 중단되었습니다.

Related 관련 기사

  1. 1

    Django : [WinError 10053] 설정된 연결이 호스트 컴퓨터의 소프트웨어에 의해 중단되었습니다.

  2. 2

    때 java.io.IOException : 연결은 셀레늄 자바 Sendkey ()와 호스트 컴퓨터에서 소프트웨어에 의해 중단되었습니다

  3. 3

    Ubuntu18.04의 시스템 설정에 소프트웨어 및 업데이트 옵션이 없습니다.

  4. 4

    VPN에 연결된 경우에만 ssh 오류 : "쓰기 : 소프트웨어로 인해 연결이 중단되었습니다."

  5. 5

    Samba : 소프트웨어로 인해 연결이 중단되었습니다.

  6. 6

    시스템 업데이트로 인해 시스템이 거의 중단되었습니다.

  7. 7

    SSH-소프트웨어로 인해 단일 로그인에 대한 연결이 중단되었습니다.

  8. 8

    SSH 네트워크 오류 : 소프트웨어로 인해 연결이 중단되었습니다.

  9. 9

    SSH 네트워크 오류 : 소프트웨어로 인해 연결이 중단되었습니다.

  10. 10

    PuTTY (SSH) (tracert) 네트워크 오류 : 소프트웨어로 인해 연결이 중단되었습니다.

  11. 11

    ConnectionAbortedError : [Errno 53] 소프트웨어로 인해 연결이 중단되었습니다.

  12. 12

    다른 노드의 정의에 정의 된 Puppet 설치 소프트웨어

  13. 13

    소프트웨어 업데이터가 시스템에있는 둘 이상의 소프트웨어 보관소에서 제대로 작동합니까?

  14. 14

    네트워크 오류 : 소프트웨어로 인해 Linux에서 복사하는 동안 연결이 중단되었습니다.

  15. 15

    소프트웨어 설치 스크립트에 "ifconfig에 정의되지 않은 루프백"이 표시됩니다.

  16. 16

    postgresql 11.5-공유 메모리 세그먼트 "/PostgreSQL.xxx"의 크기를 yyy 바이트로 조정할 수 없습니다. 시스템 호출이 중단되었습니다.

  17. 17

    호스트 포트 22 연결이 거부되었지만 포트 22 연결이 설정된 다른 호스트에 연결

  18. 18

    FaunaDB의 "동시 수정 감지로 인해 트랜잭션이 중단되었습니다."

  19. 19

    소프트웨어 구성-파일 시스템의 어디에 있습니까?

  20. 20

    양식을 제출할 때 <URL>의 교차 사이트 리소스와 연결된 쿠키가`SameSite` 속성없이 설정되었습니다.

  21. 21

    소프트웨어 엔지니어링에서 시스템의 하위 시스템 및 구성 요소

  22. 22

    설치 중에 루트 파일 시스템이 정의되지 않은 경우 어떻게해야합니까?

  23. 23

    설치 중에 루트 파일 시스템이 정의되지 않은 경우 어떻게해야합니까?

  24. 24

    설치 중에 루트 파일 시스템이 정의되지 않은 경우 어떻게해야합니까?

  25. 25

    새 소프트웨어를 설치하기 전에 이전 버전의 소프트웨어를 제거해야합니까?

  26. 26

    새 소프트웨어를 설치하기 전에 이전 버전의 소프트웨어를 제거해야합니까?

  27. 27

    추가 소프트웨어없이 Win10의 컨텍스트 메뉴 맨 위에 "연결 프로그램"이 표시됩니까?

  28. 28

    고 가용성 오류“데이터 수신 중 오류 발생 : '10054 (원격 호스트에 의해 기존 연결이 강제로 종료되었습니다.)'.”

  29. 29

    mod_perl2 with apache 2.22 Apache2 :: RequestIO :: print : (103) 소프트웨어로 인해 연결이 중단되었습니다.

뜨겁다태그

보관