首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从套接字接收数据时空消息

从套接字接收数据时空消息
EN

Stack Overflow用户
提问于 2013-08-04 14:23:05
回答 1查看 927关注 0票数 1

我试图使用Socket类连接到UAP (在华为中用于发送和接收USSD消息),但是在从服务器接收数据时出现了问题。我可以正确地连接到服务器,也可以将数据发送到服务器,但我在接收数据方面有问题。

这是我用来连接和发送消息的代码:

代码语言:javascript
复制
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方法从服务器获取数据:

代码语言:javascript
复制
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字段:

我真的不知道问题出在哪里,这是服务器的问题吗?我是否应该使用另一个套接字客户端连接和接收来自服务器的数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-04 19:54:37

TCP重置数据包不是应用程序级协议的一部分,应用程序不应该看到它们。

您的应用程序的错误行为究竟是什么,因为通过您发布的内容,我没有看到任何问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18043970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档