서버가 끊어버리는것에 대한 질문
해결됨
Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
11:00 에 클라가 도배를 하면 서버에서 끊어버린다는 내용이 있어서 질문 드립니다. 서버에서 먼저 끊으면 안된다고 하셨는데, 도배나 어떤 악질 유저 같은 경우에는 TIME_WAIT 남더라도 끊어버리는것이 맞나요?
- socket.io
- udp
- iocp
- tcpip
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
11:00 에 클라가 도배를 하면 서버에서 끊어버린다는 내용이 있어서 질문 드립니다. 서버에서 먼저 끊으면 안된다고 하셨는데, 도배나 어떤 악질 유저 같은 경우에는 TIME_WAIT 남더라도 끊어버리는것이 맞나요?
해결됨
이해하면 인생이 바뀌는 네트워크 프로그래밍
저희가 프로토콜의 구조체를 만들 때 자료형을 unsigned로 하잖아요~ 근데 굳이 unsigned를 고집을 하는 이유가 음수를 표현을 할 필요가 전혀 없어서죠?? 알려주시면 감사드리겠습니다 좋은하루 보내세요~
해결됨
이해하면 인생이 바뀌는 네트워크 프로그래밍
다름 아니라 제가 인터넷을 찾아보다가 확장자를 .c 즉 c언어로 할 경우 외부 include 디렉터리와 외부 라이브러리 디렉터리를 저희가 수업에서 진행을 했던 그대로 설정을 하면 LoadNpcapDlls() 해당 함수를 사용을 하지 않아도 프로그램이 문제 없이 작동을 합니다 혹시 위에 외부 include와 라이브러리 디렉터리를 올바르게 등록을 하면 LoadNpcapDlls()함수 없이 코드를 작성해도 될까요??
미해결
C# TCP/IP 소켓 프로그래밍
안녕하세요 -섹션5 C# TCP/IP 소켓 프로그래밍 로그인 부분입니다. 자료 다운 후 실행 시 아래와 같은 에러가 발생합니다 이 때. 프로젝트 우측 클릭 -> 7 & 8 &9버전등으로 빌드 -> 재실행하였으나 동일한데요. 어떤 방향으로 해결하면 좋을까요?
해결됨
이해하면 인생이 바뀌는 네트워크 프로그래밍
안녕하세요 선생님~~ 강의 너무 잘 보고있습니다ㅎㅎ 근데 프로토콜 헤더는 꼭 전부 외워서 작업을 해야하나요?? 그리고 선생님은 그걸 안보고 프로그래밍을 하실 수 있나요? 조금 개인적인 질문이라 실례가 될수 있는데요 알려주시면 감사드리겠습니다ㅎㅎ 감사합니다.
미해결
C# TCP/IP 소켓 프로그래밍
안녕하세요 Tap강의에서 6분 9초에 31번째 줄 내용이 궁금합니다. 저는 ReceiveAsync메서드에는 2개 인수를 쓰는 오버로드가 없다고 떠서, 어떻게 수정하면되는지 궁금합니다. -에러나는 내용 ReceiveAsync메서드에는 2개 인수를 쓰는 오버로드가 없다 -제가 적은 코드 int n1 = await clientSocket.ReceiveAsync(buffer,SocketFlags.None); --전체 코드 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net ; using System.Net .Sockets; using System.Threading; namespace Server { class Program { static async Task Main(string[] args) { Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream , ProtocolType.Tcp); IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.20.97"), 20000); serverSocket.Bind(endPoint); serverSocket.Listen(1000); //Tap( 작업기반 비동기 패턴) 작업짜기 while(true) { //서버 소켓에 어웨이트 소켓을 써라, 이 함수는 반환값이 <task>socket임 Socket clientSocket = await serverSocket.AcceptAsync(); // 제네릭한 값을 갖는 Task를 await하게하면 제네릭을 반환값으로 가질 수 있음 //스레드 풀에 일감을 던짐 , 즉 Readasync하라는거임 ThreadPool.QueueUserWorkItem(ReadAsync, clientSocket); } } /// <summary> /// 스레드풀에 들어갈 함수 , 클라이언트 소켓이 센더로 들어감 /// </summary> /// <param name="sender"></param> private static async void ReadAsync(object sender) { //클라이언트 소켓이 센더로 들어감 Socket clientSocket = (Socket)sender; //리시브 함수 루프 돌리기 while(true) { byte[] buffer = new byte[256]; int n1 = await clientSocket.ReceiveAsync(buffer,SocketFlags.None); //만약 0바이트면 종료된거니까 자원 해제하고 return으로 함수 종료 if (n1<1) { Console.WriteLine("Client disconnect"); clientSocket.Dispose(); return; } Console.WriteLine(Encoding.UTF8.GetString(buffer)); } } } }
미해결
C# TCP/IP 소켓 프로그래밍
제목과 내용이 같습니다. 코드를 따라하며 진행중인데, 시연해주실때마다 클라이언트를 여러개 키는 모습을 보여주셨는데, 어떻게 하셨는지 궁금합니다.
미해결
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
ipv6-fragmentation.pcapng 파일에서 1,2 번 패킷들은 ip단편화가 일어나지않앗지만 2개의 패킷으로 전송된 이유가 뭔가요 ?
미해결
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
http 프로토콜의 패킷같은 경우 http,tcp ipv4 , eth , rip 등 다양한 프로토콜을 사용하고 있을텐데, 이 특정 패킷은 http,tcp,ipv4로 필터링 하면 다 검색이 되는건가요 ?
미해결
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
HTTP 메시지는 패킷의 어느부분에 들어가는건가요 ?
미해결
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
ip를 자동으로 할당받는 경우 isp가 ip를 할당해주고 dns도 할당해주나요? 그럼 kt를 이용하는 경우 도메인 네임 resolve 하는경우 kt의 dns를 이용하고있는건가요 ? 그리고 kt의 dns가 모든 도메인네임에 해당하는 ip주소를 가지고 있을순 없으니 , 루트 네임서버, TLD 네임서버 , 최종 네임 서버는 따로있는건가요 ?
해결됨
Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
안녕하세요 선생님. 질문하기 전 우선 좋은 강의 촬영해주셔서 너무 감사드립니다. 공부에 많은 도움이 되고 있습니다. 저는 의도적으로 장애 상항을 만들고 Wireshark로 확인해보며 공부 중인데 이해가 가지 않는 상황이 존재하여 사진과 함께 여쭤봅니다. 우선 간략하게 테스트 환경을 공유드리겠습니다. 루프백 통신, Server Port: 7777, Client Port: 65066, Netsh interface tcp set global autotuninglevel=disabled 으로 WindowSize Auto Tuning 비활성화 Client는 recv 함수 호출 전 브레이크 포인트 걸고 Server가 132,000 데이터를 send 하는 상황입니다. 3-way handshake 상황에서 클라이언트가 Win = 65495로 공유받았고, ①에서 서버는 Len = 65495 만큼 데이터를 송신하고 있습니다. 클라이언트는 ACK로 Win =65495를 보내고 있는데, 클라이언트가 Recv를 하고 있지 않기 때문에 Win = 0으로 와야될 것 같은데… 이 부분이 어떤 것 때문에 이렇게 오는 지 이해가 어려워 여쭤봅니다. 혹시나 os에서 내부 TCP 버퍼 크기를 자동으로 조정했는지 확인해보기 위하여 getsockopt으로 RCV_BUF를 확인해본 결과 65536으로 따로 변경하거나 그런 것은 확인하지 못했습니다.
해결됨
면접 전에 알고 가면 좋을 것들 - 신입 Java 백엔드 개발자편
put과 delete 두 메소드 자체에는 보안적으로 취약한 점은 없고 수정과 삭제라는 기능적인 측면에서 보안적으로 위험할 수 있다고 이해하고 있는데 맞을까요?
미해결
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
플래그 필드중 MF비트는 더 있는지 없는지를 가리킨다고 했고,단편화된 패킷은 순서대로만 오지는 않는다고 했는데, 패킷1,2,3 이 같은 데이터라면 패킷3의 MF비트에 0 이 있을텐데 패킷 1,3,2 순서로 왔다면 수신기기는 패킷3이 마지막 패킷인줄알고 패킷3까지만 받고 패킷2는 받지않을까요 ?
미해결
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
스타크래프트 멀티플레이에서 연결 방법을 선택하는 란에 배틀넷, LAN(UDP) LAN(IPX) , 등등 이렇게 있더라고요 피시방에서 친구들끼리 LAN으로 접속하면 스위치나 허브에 꽂힌 피시방 컴퓨터들이 LAN케이블을 통해 스타크래프트 내의 정보를 주고받는건가요 ?
해결됨
Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
클라이언트에서 showdown()을 호출할때 연결 종료 4 way handshake가 발생하는것을 와이어샤크를 통해서 확인하였습니다. shutdown()을 호출하지 않고 closesocket()으로도 연결 종료 4 way handshake가 발생되는데 왜 closesocket() 전에 showdown()을 호출하는 것인가요?
미해결
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
네트워크장비(중간노드)가 메시지를 받으면 역캡슐화,캡슐화 과정을 하고 다른 노드로 보내는가요 ? 아니면 중간노드는 메시지를 그냥 다른 노드로 넘기나요 ? 호스트(끝노드)에서만 그 과정을 거치나요 ?
미해결
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
네트워크의 구조는 그래프의 형태를 띄고있다 라고 하셨는데, 비유인가요 ? 실제로 기기간(노드)간의 메시지를 주고받을때 그래프 자료구조를 사용하는건가요 ? 실제로 제 기기가 네트워크안에 있다면(연결 되었다) 라고 한다면 어딘가의 장비에 코드로써 제 기기(노드 ) 가 기존의 그래프에 추가된건가요 ?
해결됨
Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
안녕하세요 널널한 개발자님! 언제나 강의 잘보고 있습니다. 예제 소스 코드 보고 있는데 의문이 생겨서 이렇게 질문드립니다. 이전 강의에서 recv와 send는 1:1로 매칭되지 않는다라고 하셨었는데 프로토콜이 적용된 파일 송신 서버 제작 강의 예제를 보면 MYCMD 나 GETFILE 구조체를 recv 함수로 한번씩 읽어오시는것같아서요. 혹시 recv로 한번에 읽어오는 데이터의 크기가 GETFILE, MYCMD의 크기보다 작아 한 번 더 읽어야 하는 경우가 발생할 수 있을까요? 해당 코드 구문입니다!
해결됨
Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
안녕하세요! 파일 송신 서버 제작 강의 부분중에 궁금한 것이 생겨 질문드립니다. "파일 데이터를 전송할 때 큰 데이터를 한 번에 올리는 것이 더 성능적으로 좋아질 수 있다." 라고 하셨는데, 그 이유가 무엇인지 구체적으로 알고 싶습니다. 제가 생각한 것은 시스템 콜 호출 횟수 감소(유저->커널 레벨의 모드 스위치 감소) 디스크 읽기 최적화? (한 번에 순차적으로 접근할 수 있는게 많아지는...?) (I/O를 여러 번 하면, 할 때마다 랜덤 엑세스를 해야하니까, 디스크 seek 타임이 많아지는 이유가 맞을까요?) CPU가 접근하는 커널 페이지 버퍼의 캐시 히트율 증가 정도인데요. 혹시 다른 이유가 더 있는지 궁금합니다. 감사합니다.