I이 비동기 소켓 프로그래밍에 대한 다음 코드를C#을 클라이언트 포트를 지정
public void ServerBeginAceept(ushort ServerPort)
{
try
{
ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, ServerPort);
ServerSocket.Bind(ipEndPoint);
ServerSocket.Listen(MAX_CONNECTIONS);
IAsyncResult result = ServerSocket.BeginAccept(new AsyncCallback(ServerEndAccept), ServerSocket);
}
}
public void ServerEndAccept(IAsyncResult iar)
{
try
{
ServerSocket = (Socket)iar.AsyncState;
CommSocket = ServerSocket.EndAccept(iar);
}
}
public void ClientBeginConnect(string ServerIP, ushort ServerPort)
{
try
{
CommSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse(ServerIP), ServerPort);
IAsyncResult result = CommSocket.BeginConnect(ipEndPoint, new AsyncCallback(ClientEndConnect), CommSocket);
}
}
public void ClientEndConnect(IAsyncResult iar)
{
try
{
CommSocket = (Socket)iar.AsyncState;
CommSocket.EndConnect(iar);
OnNetworkEvents eventArgs = new OnNetworkEvents(true, "Connected: " + CommSocket.RemoteEndPoint.ToString(), string.Empty);
OnUpdateNetworkStatusMessage(this, eventArgs);
}
}
음 코드 (나는 그것을 단순화하고 그것이 내가 일하고 있어요 증거로 여기에 제시되어 아무 문제가 없다 숙제 도움을 찾고 있지 않습니다!)
내 질문 : 특정 클라이언트 포트에서 서버와 어떻게 통신합니까? 여기에있는 코드는 모두 서버 기반 포트이며 잘 작동합니다. 하지만 클라이언트에서 특정 포트와 통신하는 코드를 구현하고 싶습니다. 서버에서 무작위로 생성 한 코드가 아닙니다.
감사합니다.
나는 소켓/포트 기능의 방식을 알지 못했습니다. 이것은 좋은 교육이었습니다. 귀하의 의견에 감사드립니다. – iTEgg