问题列表 - 第35534页

lidgren网络库可以直接连接到两个IP地址的对等点

我正在使用lidgen-network library 3来尝试创建点对点连接.我是网络编程的新手,这也是我使用这个库的原因.

使用DiscoverKnownPeer()函数,我已经能够在我的网络中连接.我在网上看到的是,我需要进行NAT穿孔,这需要在路由器外部运行的服务器.我希望有一个不需要这个额外服务器的解决方案.

如果我可以在Web服务器上存储两个ip addesses,并创建一个Web服务以通过XML将ip发送到每个相应的客户端,我是否可以创建对等连接?

先感谢您.

c# p2p lidgren

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

使用FSCopyObjectAsync显示文件复制进度

经过大量搜索后,在尝试执行文件复制并显示相对于已复制文件数量的进度指示器时似乎存在常见问题.在花了一些相当长的时间试图解决这个问题后,我发现自己再次受到StackOverflow众神的支配:-) - 希望有一天我会成为那些可以帮助新手的人之一!

我试图获得一个进度条来显示复制过程的状态,一旦复制过程完成,调用Cocoa方法.挑战 - 我需要使用文件管理器碳调用,因为NSFileManager不能提供我所需的全部功能.

我开始试图利用Matt Long的网站Cocoa Is My Girlfriend上的代码.代码让我有了一些很好的距离.我设法让文件复制进度正常工作.栏更新和(在Apple文档中进行一些额外搜索)我发现如何判断文件复制过程是否已完成...

if (stage == kFSOperationStageComplete)

但是,我有一个最后一个障碍,比我现在的飞跃大一点.我不知道如何将对象引用传递给回调,我不知道如何在回调完成后调用Cocoa方法.这是我的碳 - >可可 - >碳理解的限制.其中一条评论在博客上说

"不是通过静态指针访问进度指示器,而是可以使用FSFileOperationClientContext结构的void*info字段,并传递AppDelegate或进度指示器本身."

这主意听起来很不错.不知道该怎么做.为了其他人似乎遇到这个问题并且来自非碳背景,主要基于Matt的例子中的代码,这里有一些简化的代码作为问题的一个例子......

在正常的可可方法中:

CFRunLoopRef runLoop = CFRunLoopGetCurrent();
FSFileOperationRef fileOp = FSFileOperationCreate(kCFAllocatorDefault);

OSStatus status = FSFileOperationScheduleWithRunLoop(fileOp, 
                     runLoop, kCFRunLoopDefaultMode);

if (status) {
    NSLog(@"Failed to schedule operation with run loop: %@", status);
    return NO;
}

// Create a filesystem ref structure for the source and destination and 
// populate them with their respective paths from our NSTextFields.

FSRef source;
FSRef destination; …
Run Code Online (Sandbox Code Playgroud)

cocoa macos-carbon objective-c nsfilemanager nsprogressindicator

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

何时使用这么多种方法来创建一个类型的实例?

我知道这些方法来创建一个实例:

  • Activator.CreateInstance()
  • AppDomain.CreateInstance()
  • AppDomain.CreateInstanceAndUnwrap()

什么时候使用它们?他们有什么不同?什么是展开呢?打开什么?为什么其他两种方法也没有打开?

更新

目前,我有以下医学类比:

  • Activator.CreateInstance()=外部授精
  • AppDomain.CreateInstance()=自然怀孕/内部人工授精

关于Unwrap操作,我有一些模糊的感觉,但我不会发布它,直到它更清楚.

.net c#

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

一个简单的getch()和strcmp问题

我有这个简单的问题,使用函数从用户获取输入,然后检查输入是否与"密码"相等.但是,strcmp永远不会返回我想要的值,罪魁祸首就在我的循环中,使用getch()分别取出每个字符并将它们添加到字符数组中.我通过让printf显示字符数组来找到它.如果我输入密码,该函数会将其显示为密码".我不知道为什么在我输入的单词之后,数组中包含了结束双引号和空格.任何想法?这是代码.谢谢.

#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <string.h>

int validateUser();

int main()
{
   for(int x = 0;x<2;x++)
   { 
        if(validateUser())
         {   
             system("cls");
             printf("\n\n\t\t** Welcome **"); break; 
         }
        else                    
         {   
             system("cls");
             printf("\n\n\t\tIntruder Alert!");
             system("cls"); 
         }
   } 


    system("PAUSE>nul");
    return 0;
}

int validateUser()
{
    char password[9];
    char validate[] = "pass word";
    int ctr = 0, c;
    printf("Enter password : "); 
    do
    {
        c = getch();
        if(c == 32)
        {
             printf(" ");
             password[ctr] = c;
        }

        if(c != 13 && c != 8 …
Run Code Online (Sandbox Code Playgroud)

c c++ string getch

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

将int转换为4字节char数组(C)

嘿,我正在寻找将用户输入的int转换为4个字节,我将其分配给字符数组.如何才能做到这一点?

例:

将用户输入175转换为

00000000 00000000 00000000 10101111


到目前为止所有答案的问题,转换255应该导致0 0 0 ff尽管它打印出来:0 0 0 ffffffff

unsigned int value = 255;   

buffer[0] = (value >> 24) & 0xFF;
buffer[1] = (value >> 16) & 0xFF;
buffer[2] = (value >> 8) & 0xFF;
buffer[3] = value & 0xFF;

union {
    unsigned int integer;
    unsigned char byte[4];
} temp32bitint;

temp32bitint.integer = value;
buffer[8] = temp32bitint.byte[3];
buffer[9] = temp32bitint.byte[2];
buffer[10] = temp32bitint.byte[1];
buffer[11] = temp32bitint.byte[0];
Run Code Online (Sandbox Code Playgroud)

两者都导致0 0 0 ffffffff而不是0 …

c

67
推荐指数
3
解决办法
17万
查看次数

如何使wpf文本块自动调整大小

我有一个文本块,我动态添加字符串..即使我添加字符串宽度和更新文本块文本块没有显示适当的宽度,仍然有一些文字被剪切..

如何测量必须在文本块中显示的宽度?以及如何使其自动调整大小?

c# wpf

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

如何将AWK输出传递给变量?

我有一个小的bash脚本,通过使用关键字greps/awk段落.

但在添加额外的代码后:set var = "(......)"它只打印一个空行而不是段落.

所以我想问一下是否有人知道如何正确地将awk输出传递给变量进行输出?

我的代码:

#!/bin/sh

set var = "(awk 'BEGIN{RS=ORS="\n\n";FS=OFS="\n"}/FileHeader/' /root/Desktop
/logs/Default.log)"
echo $var;
Run Code Online (Sandbox Code Playgroud)

谢谢!

linux awk paragraph

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

如何在android下运行动态ToggleButton文本?

我有一个ToggleButton设置如下:

final ToggleButton filterButton = (ToggleButton) findViewById(R.id.filterTags);
        filterButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                if (filterButton.isChecked()) {
                    // pop up the list of tags so the user can choose which to filter by
                    // once one is chosen, the spinner will be updated appropriately
                    showDialog(DIALOG_TAGS);
                } else {
                    // going unpressed, set the the spinner list to everything
                    updateSpinner(db.itemNames());
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

对话框如下所示:

   case DIALOG_TAGS:
        final String[] tagNames = db.tagNamesInUse();
        dialog = new AlertDialog.Builder(this)
            .setItems(tagNames, new DialogInterface.OnClickListener() {
                    public …
Run Code Online (Sandbox Code Playgroud)

android dynamic togglebutton

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

找不到WebBrowser.NavigateToString()方法

我听说过关于NavigateToString()C#方法的好东西,但我似乎无法使用它=(我System.Windows.Forms.WebBrowser在面板中有一个,当我试着打电话NavigateToString()时说:

"错误:'System.Windows.Forms.WebBrowser'不包含'NavigateToString'的定义,并且没有扩展方法'NavigateToString'接受类型为'System.Windows.Forms.WebBrowser'的第一个参数'(你丢失了吗?) using指令或程序集引用?)
C:\ Users\Name\documents\visual studio 2010\Projects\TestPHPNavigateToString\TestPHPNavigateToString\Form1.cs TestPHPNavigateToString"

我没有找到任何人有同样的问题oO,是否有一个特殊的DLL我应该添加一个引用?

我有.Net FrameWork 4.0的vs2010,我只是为了确定重新安装它,但感觉我在这里遗漏了一些东西= o

谢谢.

.net c# webbrowser-control winforms

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

AppFabric缓存 - 正确使用DataCacheFactory和DataCache

我正在寻找最安全的方式来安排appFabric缓存调用的datacache和datacache工厂的使用,每页加载400到700个缓存(几乎没有任何放置).似乎使用单个静态DataCacheFactory(或者可能是循环设置中的一对)是要走的路.

我是否为每个DataCache对象请求调用GetCache("cacheName"),还是在初始化DataCache工厂时将其设置为静态并将其用于所有调用?

我是否必须处理异常,检查失败代码并尝试重试?

当多个线程尝试使用缓存存储并且想要相同的项目(按键)时,是否必须考虑争用?

是否有某种文档正确地探讨了它的设计和用法?


我到目前为止从论坛收集的一些信息:

http://social.msdn.microsoft.com/Forums/en-AU/velocity/thread/98d4f00d-3a1b-4d7c-88ba-384d3d5da915

"创建工厂涉及到连接到集群并且可能需要一些时间.但是一旦你拥有了工厂对象和你想要使用的缓存,你可以简单地重用这些对象来执行put并进入缓存,你应该看到更快的表现."

http://social.msdn.microsoft.com/Forums/en-US/velocity/thread/0c1d7ce2-4c1b-4c63-b525-5d8f98bb8a49

"创建单个DataCacheFactory(singleton)比创建多个DataCacheFactory更有效.你不应该为每个调用创建DataCacheFactory,它会有性能损失."

"请尝试在您的单例中封装循环算法(具有3/4/5工厂实例)并比较负载测试结果."

http://blogs.msdn.com/b/velocity/archive/2009/04/15/pushing-client-performance.aspx

"您可以增加客户端数量以增加缓存吞吐量.但有时如果您希望拥有较小的客户端集并增加吞吐量,则需要使用多个DataCacheFactory实例.DataCacheFactory实例创建与服务器的连接(例如, .g如果有3个服务器,它将创建3个连接)并将来自数据缓存的所有请求多路复用到这些连接上.因此,如果put/get卷非常高,这些TCP连接可能会出现瓶颈.所以一种方法是创建多个DataCacheFactory实例,然后对它们使用操作."


这里到目前为止使用了什么...调用属性,如果返回值不为null,则执行操作.

private static DataCache Cache
{
    get
    {
        if (_cacheFactory == null)
        {
            lock (Sync)
            {
                if (_cacheFactory == null)
                {
                    try
                    {
                        _cacheFactory = new DataCacheFactory();
                    }
                    catch (DataCacheException ex)
                    {
                        if (_logger != null)
                        {
                            _logger.LogError(ex.Message, ex);
                        }
                    }
                }
            }
        }

        DataCache cache = null;

        if (_cacheFactory != null)
        {
            cache = _cacheFactory.GetCache(_cacheName);
        }

        return cache;
    }
}
Run Code Online (Sandbox Code Playgroud)

在Microsoft AppFabric论坛上查看此问题:http://social.msdn.microsoft.com/Forums/en-AU/velocity/thread/e0a0c6fb-df4e-499f-a023-ba16afb6614f

performance caching appfabric

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