接收数据我试图连接到服务器UAP(用于华为发送和接收USSD消息)使用Socket
类,但同时从服务器接收数据有问题。我可以正确连接到服务器,也可以将数据发送到服务器,但我在接收数据时遇到问题。空消息,同时从插座
这是我的连接和发送消息代码:
IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); //server
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 2020);
clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
clientSocket.Connect(remoteEP);
//bind to socket, here I send bind message
Bind();
和Bind
功能里面,我叫receive
方法从服务器获取数据:
private static void receive()
{
try
{
// Create the state object.
StateObject state = new StateObject();
state.workSocket = clientSocket;
// Begin receiving the data from the remote device.
clientSocket.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(receiveCallback), state);
}
catch (Exception ex)
{
Console.WriteLine("receive | " + ex.ToString());
}
}//receive
在这里你可以看到我的Wireshark日志而连接,发送数据和从服务器接收数据:
但你可以看到,从服务器最后两个消息都用红色,这意味着有从服务器接收数据的问题突出。此外,我没有看到细节data
领域:
我真的不知道有什么问题,这是服务器有问题或不?我应该使用另一个套接字客户端来连接并从服务器接收数据吗?
我用UAP协议发送英文的接收ussd消息,你试过阿拉伯语的消息吗?阿拉伯文消息显示为几个像这样的问号?在电话中,任何线索? – MSUH
@MSUH是的,我通过UAP发送阿拉伯文/波斯文本,您只需将CodeScheme设置为0x48并以UTF-16编码字符串。 –
谢谢,它解决了,有关于服务提供商侧 – MSUH