问题列表 - 第28899页

套接字发送recv函数

我使用以下代码行创建了一个套接字.现在我改变套接字的值,我得到这样的

m_Socket ++;

即使现在,send recv套接字函数也会成功,而不会抛出SOCKET_ERROR.我希望它必须抛出错误.

难道我做错了什么.

struct sockaddr_in ServerSock; //用于绑定要侦听的端口号的套接字地址结构

char *localIP ;

SOCKET SocServer;

//To Set up the sockaddr structure
ServerSock.sin_family = AF_INET;
ServerSock.sin_addr.s_addr = INADDR_ANY;

ServerSock.sin_port = htons(pLantronics->m_wRIPortNo);

// To Create a socket for listening on wPortNumber
if(( SocServer = socket( AF_INET, SOCK_STREAM, 0 )) == INVALID_SOCKET )
{
    return FALSE;
}

//To bind the socket with wPortNumber
if(bind(SocServer,(sockaddr*)&ServerSock,sizeof(ServerSock))!=0)
{
    return FALSE;
}

// To Listen for the connection on wPortNumber
if(listen(SocServer,SOMAXCONN)!=0)
{
    return FALSE;
}

// Structure …
Run Code Online (Sandbox Code Playgroud)

c++ sockets

4
推荐指数
1
解决办法
1250
查看次数

将地图矢量转换为Clojure中的地图地图

我有一个这样的地图矢量:

[{:categoryid 1, :categoryname "foo" } 
 {:categoryid 2, :categoryname "bar" } 
 {:categoryid 3, :categoryname "baz" }]
Run Code Online (Sandbox Code Playgroud)

并且想生成这样的地图地图,以便按categoryname进行搜索

{"foo" {:categoryid 1, :categoryname "foo" }, 
 "bar" {:categoryid 2, :categoryname "bar" }, 
 "baz" {:categoryid 3, :categoryname "baz" }}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

clojure

9
推荐指数
2
解决办法
3442
查看次数

在.NET表单中组织UI代码

我是自学编程的人,并且没有接受任何正式的.NET编程培训.

前段时间,我开始使用C#来开发一个GUI程序来控制传感器,项目已经蓬勃发展.我只是想知道如何在我的表单中最好地组织代码,特别是UI代码.

我的表格目前是一团糟,或者至少对我来说是一团糟.

  • 我有一个构造函数,它初始化所有参数并创建事件.
  • 我有一个巨大的State属性,当用户进入应用程序(即:断开连接,连接,设置,扫描)由状态枚举控制时,它会更新我所有表单控件的Enabled状态.
  • 我有3-10个通过属性访问的私有变量,其中一些在更改表单元素的值时有副作用.
  • 我有很多"UpdateXXX"函数来处理依赖于其他UI元素的UI元素 - 即:如果传感器被更改,则更改波特率下拉列表.它们分为几个区域
  • 我有很多事件调用这些Update函数
  • 我有一个后台工作人员,负责所有扫描和分析.

我的问题是这看起来像一团糟,特别是国家财产,并且变得无法维护.此外,我的应用程序逻辑代码和UI代码在同一个文件中,在某种程度上,混合似乎是错误的,这意味着我需要做很多滚动才能找到我需要的东西.

你如何构建.net表单?

谢谢

.net code-organization winforms

11
推荐指数
2
解决办法
2022
查看次数

等待信号

我正在开发一个将文件内容上传到服务器的应用程序.

要将文件上传到服务器,我使用的是"QNetworkAccessManager"类.由于它以异步方式工作,我通过使用QEventLoop将其更改为以同步方式工作.

Class FileTransfer
{
Public : 
     QNetworkAccessManager mNetworkManager;
     Void Upload(QNetworkRequest request, QIODevice *data)
     {
           responce = mNetworkManager.put(request, data);
           EventLoop.exec();
           ReadResponce(responce);
      }

      Void Stop()
      {
            responce ->close();
      }
}
Run Code Online (Sandbox Code Playgroud)

在我的示例应用程序中,我有2个窗口.第一个选择文件,第二个显示进度.

当用户在第一个窗口中单击上传按钮时,将显示第二个窗口,然后我创建FileTransfer对象并开始上传.

当用户关闭表单时上传文件,然后在窗口的析构函数中,我调用" FileTransfer " 的停止,然后删除' FileTransfer '对象.

但是这里的Upload()函数还没有完成,所以它会崩溃.

请帮助我:如何等待'stop() '函数,直到Upload()函数完成

qt signals signals-slots qt-signals

11
推荐指数
1
解决办法
2万
查看次数

正则表达式验证首字母缩写

我正在寻找一个正则表达式来验证首字母缩写.我希望它允许的唯一格式是:

(一个资本,然后是一个时期),那一次或多次

有效示例:

A.
AB
ABC

示例无效:

一个.
一个

AB
ABC
AB
ABC

使用Regulator和一些网站我发现了以下正则表达式,但它只允许一个上(或下!)大小写字符后跟一个句点:

^[A-Z][/.]$
Run Code Online (Sandbox Code Playgroud)

基本上我只需要知道如何强制大写字符,以及如何重复验证以允许更多的大写字符后面出现一个句点.

regex

4
推荐指数
2
解决办法
4718
查看次数

为什么这种线程方法不起作用?

我在 ASP.NET 应用程序中遇到了一个奇怪的线程问题。出于某种原因,当我在请求线程中运行代码时,一切都按预期工作。但是当我在单独的线程中运行它时,没有任何反应。
这是通过分别使用三个标志“on”、“off”和“larma”调用下面的处理程序来验证的——在前两种情况下一切正常,但在后一种情况下什么也没有发生。

我在这里做错了什么?

在 web 项目中,我有一个带有以下代码的通用处理程序:

If task = "on" Then
    Alarm.StartaLarm(personId)
    context.Response.Write("Larmet är PÅ")
ElseIf task = "off" Then
    Alarm.StoppaLarm(personId)
    context.Response.Write("Larmet är AV")
ElseIf task = "larma" Then
    Alarm.Larma(personId)
    context.Response.Write("Larmar... (stängs av automagiskt)")
Else
    context.Response.Write("inget hände - task: " & task)
End If
Run Code Online (Sandbox Code Playgroud)

Alarm班有以下方法:

Public Shared Sub Larma(ByVal personId As Integer)
    Dim thread As New System.Threading.Thread(New ParameterizedThreadStart(AddressOf Larma_Thread))
    thread.Start(personId)
End Sub

Private Shared Sub Larma_Thread(ByVal personId As Integer)
    StartaLarm(personId)
    Thread.Sleep(1000 * 30)
    StoppaLarm(personId)
End Sub …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net asp.net multithreading

1
推荐指数
1
解决办法
484
查看次数

如何分析二进制序列化流的内容?

我正在使用二进制序列化(BinaryFormatter)作为临时机制,将状态信息存储在一个相对复杂(游戏)对象结构的文件中; 文件比我想象的要大得多,我的数据结构包括递归引用 - 所以我想知道BinaryFormatter是否实际存储了相同对象的多个副本,或者我的基本"对象和值的数量是否应该有"arithmentic是偏离基础的,或者其他地方的过度规模来自于.

搜索堆栈溢出我能够找到Microsoft的二进制远程格式的规范:http://msdn.microsoft.com/en-us/library/cc236844( PROT.10) .aspx

我找不到的是任何现有的查看器,它使您能够"查看"二进制格式化输出文件的内容 - 获取文件中不同对象类型的对象计数和总字节数等;

我觉得这一定是我的"google-fu"让我失望(我什么都没有) - 任何人都可以帮忙吗?这一定是以前做过的,对吧?


更新:我找不到它并且没有得到答案所以我把相对快速的东西放在一起(链接到下面的可下载项目); 我可以确认BinaryFormatter不存储同一对象的多个副本,但它会向流中打印相当多的元数据.如果您需要高效存储,请构建自己的自定义序列化方法.

.net c# serialization binary-serialization

33
推荐指数
3
解决办法
1万
查看次数

在一对一的关系中我应该删除表的id列之一吗?

MySQL中有以下2个表:Customer(Id,Firstname,Lastname ...)Bonus(Id,CustomerId,Value,...)

关系是一对一,每个客户只有一个奖金.(CustomerId在奖金表中是唯一的)

问:我应该删除奖励表的Id列吗?(我想知道为什么或为什么不)

mysql database-design normalization one-to-one relational-database

5
推荐指数
1
解决办法
224
查看次数

将自定义功能区组添加到Word 2007中的现有自定义功能区组

如何将新组添加到现有(第三方)自定义功能区选项卡加载项?我知道我可以通过指定Tabs idMSo值添加到现成的功能区中,但是如何为自定义功能区选项卡添加功能区。我已经尝试过自定义功能区的ID值,但是它会重复功能区吗?还尝试了将idMso和idQ属性传递给必需的自定义标签ID,但没有成功。

我可以通过指定idMso值将其添加到“开箱即用”标签组中,但不能添加到“自定义”标签中

问候

ms-word office-addins

4
推荐指数
2
解决办法
4156
查看次数

为什么c#程序员不会像java程序员那样吸引ruby

这是我注意到的趋势.java社区对ruby的采用非常广泛.是不是c#是如此令人敬畏的语言+拥有优秀的java工具,大多数c#开发人员都不像Java开发人员那样永久地切换到ruby?

你有什么看法?

c# ruby java

13
推荐指数
2
解决办法
508
查看次数