Socket 의 감청 세 가지 방식
1943 단어 socket
Listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
IPEndPoint hostEntry = new IPEndPoint(getLocalmachineIPAddress(), ServerPort);
Listener.Bind(hostEntry);
Listener.Listen(ConnectionsQueueLength);
1. AcceptAsync 비동기 방식
socketEventArg = new SocketAsyncEventArgs();
socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(SocketEventArg_Completed);
socketEventArg.RemoteEndPoint = hostEntry;
socketEventArg.UserToken = Listener;
Listener.AcceptAsync(socketEventArg);
void SocketEventArg_Completed(object sender, SocketAsyncEventArgs e)
{
if (e.LastOperation == SocketAsyncOperation.Accept)
{
Socket acceptSocket = e.AcceptSocket;
if (acceptSocket != null)
{
//
}
}
e.AcceptSocket = null;
Listener.AcceptAsync(e);
}
2. 수락 방식
while (true)
{
Socket acceptSocket = Listener.Accept();
if (acceptSocket != null)
{
//
}
}
3. BeginAccept 방식
while (true)
{
Listener.BeginAccept(new AsyncCallback(AcceptCallBack), Listener);
}
private void AcceptCallBack(IAsyncResult result)
{
Socket acceptSocket = (Socket)result.AsyncState;
//
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
React 구성 요소에서 소켓 이벤트 리스너가 여러 번 실행됩니다.기본적이지만 종종 간과되는 사이드 프로젝트를 하면서 배운 것이 있습니다. 이 프로젝트에는 단순히 두 가지 주요 부분이 포함되어 있습니다. 프런트 엔드: 반응 및 재료 UI 백엔드: Express, Typescript...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.