-1
我正在使用C#應用程序處理生物測定系統。 Sdk通過端口2100上的TCP/IP提供連接,並通過接收和發送字符串進行通信。套接字寫入無法正常工作c#
我的類:
class Biometry
{
private System.Net.Sockets.TcpClient _clientSocket = new System.Net.Sockets.TcpClient();
public Biometry() {
//connect to socket
_clientSocket.Connect("127.0.0.1", 2100);
_clientSocket.ReceiveTimeout = 9000;
}
public String identify(String msg) {
//get network stream
NetworkStream _serverStream = _clientSocket.GetStream();
//send an array of bites that represents a string(encoded)
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
byte[] outStream = System.Text.Encoding.ASCII.GetBytes(msg);
_serverStream.Write(outStream, 0, outStream.Length);
//reads the response from networkStream
byte[] inStream = new byte[10025];
_serverStream.Read(inStream, 0, (int)_clientSocket.ReceiveBufferSize);
string returndata = System.Text.Encoding.ASCII.GetString(inStream);
_serverStream.Close();
return returndata;
}
}
的問題是: 它不工作!只有在關閉應用程序(連接關閉)時,生物統計學才起作用(SDK只理解我的請求)。
對不起,端口是2100.我注意到的一件事是,當它執行套接字寫入時,SDK不會執行任何操作。沖洗不起作用 –
服務器是否期望您沒有發送某些「消息結束」字符序列?也許它正在等待更多的投入。 –
是的!服務器正在等待\ n,所以我發送了一個Environment.NewLine,它工作了!謝謝 –