1
現在、ハードウェアライブラリを.NETコアに移植しています。通信はTCPを介して動作します。私は 'Socket.BeginReceive'メソッドに問題があります。 MSDN.NETコアのソケットからデータを受け取る方法は?
.NETコアには同等の方法はないようです。 TCPソケットからデータを受信するにはどうすればよいですか?
private void InternalDataReceived(IAsyncResult ar)
{
int dataCount = 0;
byte[] buffer;
try
{
if (_client != null && _client.Client != null)
{
dataCount = _client.Client.EndReceive(ar);
}
if (dataCount > 0)
{
try
{
buffer = new byte[dataCount];
Array.Copy(_inBuffer, buffer, dataCount);
if (DataReceived != null)
{
DataReceived(buffer);
}
}
catch (Exception exc)
{
if (exc is System.Net.Sockets.SocketException)
{
Disconnect();
return;
}
}
_client.Client.BeginReceive(_inBuffer, 0, _inBuffer.Length, SocketFlags.None, InternalDataReceived, null);
}
}
catch
{
Disconnect();
}
}
[同期](https://docs.microsoft.com/en-us/dotnet/core/api/system.net.socketsがあります。ソケット#System_Net_Sockets_Socket_Receive_System_Byte ___)と[非同期](https://docs.microsoft.com/en-us/dotnet/core/api/system.net.sockets.socket#System_Net_Sockets_Socket_ReceiveAsync_System_Net_Sockets_SocketAsyncEventArgs_).NET Coreの受信バージョン。 –