小编Cha*_*les的帖子

如何支持IPv4和IPv6连接

我目前正在研究UDP套接字应用程序,我需要内置支持,以便IPV4和IPV6连接可以将数据包发送到服务器.

我希望有人可以帮助我,并指出我正确的方向; 我发现的大部分文档都不完整.如果你能指出Winsock和BSD套接字之间的任何差异,也会有所帮助.

提前致谢!

c++ sockets winsock ipv4 ipv6

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

Android互联网连接检查问题

我是Android开发的新手,正在开发一款Android应用程序,需要通过Wifi,EDGE或3G将手机连接到互联网.

这是我用来检查互联网连接是否可用的代码

public static boolean isConnected()
{
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
Run Code Online (Sandbox Code Playgroud)

我还在清单文件中设置了这些权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

当启用3G时,这在运行Android 1.5版的模拟器中工作正常,但是当我禁用3G连接时它会崩溃.当我调用isConnectedOrConnecting()时,我的应用程序抛出空指针异常.运行Android 2.1的HTC Desire也会发生同样的事情.

希望有人知道解决这个问题.

提前致谢!

android android-internet android-permissions

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

关于服务器插座编程模型的问题

在过去的几个月里,我一直在研究C++和Java中的套接字服务器的一些实现.我用Java编写了一个小型服务器来处理和处理来自网站上托管的Flash应用程序的输入,我成功地编写了一个服务器,用于处理来自具有C++多个播放器的2D游戏客户端的输入.我在一个项目中使用TCP,在另一个项目中使用UDP.现在,我确实有一些我在网上找不到的问题,我希望有些专家可以帮助我.:)

假设我想在C++中构建一个服务器来处理来自数千个独立和/或Web应用程序的输入,那么我应该如何设计我的服务器呢?到目前为止,我通常会为每个连接的用户创建一个新的唯一线程,但我怀疑这是要走的路.

另外,如何确定通过网络发送的数据包的布局; 数据通常是通过网络以二进制或文本状态发送的吗?当您将数据发送到不同的媒体(例如C++服务器到闪存应用程序)时,如何处理序列化对象?

最后,是否有任何易于使用的库,它通常用于支持可移植性(例如在Windows机器上开发和在Linux机器上部署)而不是boost asio.

谢谢.

c++ sockets

10
推荐指数
2
解决办法
5277
查看次数

textFieldShouldBeginEditing未被调用

我试图用来textFieldShouldBeginEditing禁用键盘显示自定义UITextField.我正在实施所有UITextFieldDelegate方法.但是,出于某种原因,textFieldShouldBeginEditing实际上永远不会被调用.

始终调用以下委托方法:

– textFieldDidBeginEditing:
– textFieldShouldEndEditing:
– textFieldDidEndEditing:
Run Code Online (Sandbox Code Playgroud)

视图的结构如下:

UIViewController它拥有一个滚动视图.根据视图的状态,此ScrollView将包含一个UIView自定义列表UITextFields.

我在这台设备上运行iOS 4.3.5(8L1).

有任何想法吗?

编辑; 添加了一些代码片段:

UIViewController 有以下界面

@interface AViewController: UIViewController<UITextFieldDelegate>
Run Code Online (Sandbox Code Playgroud)

加载UIViewController后,我使用将所有UITextField连接到视图

aSubView.aTextField.delegate = self;
Run Code Online (Sandbox Code Playgroud)

位于AViewController中的(简化)委托实现

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
}

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    return YES;
} 

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    return YES;
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

自定义UITextField代码

简化的实施文件 -

#import "PVEntryTextField.h"
#import "EntryViewController.h"

@implementation PVEntryTextField …
Run Code Online (Sandbox Code Playgroud)

iphone mobile objective-c ios

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

无法在Mac应用中加载NPAPI插件

我正在研究一个独立的守护程序可执行文件,它需要在主机上加载现有的第三方NPAPI插件.我想要做的是将生成的视图从插件渲染到纹理/表面.

它需要在Mac和Windows上运行,但由于我是一个沉重的Mac用户,我决定首先构建Mac版本.我们没有这个插件的源代码 - 这是外部供应商提供给我们的东西 - 所以它是一个黑盒实现.

在网络上,该插件的工作方式与flash非常相似.您在链接到某个mimetype(即应用程序/闪存)的网页中嵌入了一个区域,并加载了插件,而插件又会指示插件加载某个文件(想想一个SWF),然后再渲染它.

我现在正在做的是:

1. Open the library (Bundle) and extract NP_Initialize etc.
2. Call NP_Initialize -> returns the object with NPP function pointers etc
3. Call NPP_New (this calls a set of NPP functions) -> ultimately returns NPERR_NO_ERROR. 
Run Code Online (Sandbox Code Playgroud)

由于NPERR_NO_ERROR是预期的响应,我假设这三个步骤已成功完成.

在NPP_New期间,插件请求Cocoa事件模型和Core Animation(或者Core Graphics,如果我为Core Animation返回false)渲染模式.

然后我打电话给:

4. NPP_SetWindow
5. Once the window is set, I load an online file with CURL, and call NPP_NewStream/WriteReady/Write and DestroyStream.
Run Code Online (Sandbox Code Playgroud)

根据我在NPAPI文档中可以找到的内容,NewStream/WriteStream/etc函数基本上将文件加载到插件的内存中,因此可以呈现它.

该插件在浏览器中支持Core Animation和Core Graphics,并且在支持NPAPI插件的浏览器中运行良好.

完成上述所有操作后,我尝试渲染到纹理,但在Core Graphics模式下,我继续使用CGContextRef从NPP_Event函数调用返回错误响应.在Core Animation模式下运行时,我使用renderInContext将纹理渲染到位图,但整个图像保持空白/透明.

这是一个很长的镜头,但有没有人有任何想法?

plugins cocoa gecko webkit npapi

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

为什么我在递归删除目录时遇到问题?

我编写了一个使用WIN32 api创建临时目录层次结构的应用程序.现在,当想要在关闭应用程序时删除目录时,我遇到了一些问题.

所以假设我有一个目录层次结构:C:\ temp\directory\subdirectory \

我正在使用这个递归函数:

bool Dir::deleteDirectory(std::string& directoryname, int flags)
{
    if(directoryname.at(directoryname.size()-1) !=  '\\') directoryname += '\\';

    if ((flags & CONTENTS) == CONTENTS)
    {
        WIN32_FIND_DATAA fdata;
        HANDLE dhandle;

        directoryname += "\\*";
        dhandle = FindFirstFileA(directoryname.c_str(), &fdata);

        // Loop through all the files in the main directory and delete files & make a list of directories
        while(true)
        {
            if(FindNextFileA(dhandle, &fdata))
            {
                std::string filename = fdata.cFileName;
                if(filename.compare("..") != 0)
                {
                    std::string filelocation = directoryname.substr(0, directoryname.size()-2) + StringManip::reverseSlashes(filename);

                    // If we've encountered a …
Run Code Online (Sandbox Code Playgroud)

c++ directory recursion winapi

3
推荐指数
4
解决办法
8586
查看次数

处理SMS Spoofing

我正在开发一个使用SMS网关接收客户指令的Web服务.由于这将是一个商业产品,我想实施一个保护措施,以保护我们的系统免受短信欺骗.我不希望人们通过欺骗他们的号码冒充别人.

我注意到Twitter允许人们通过短信发推文,他们怎样才能确保邮件真的是真的?

这是可能的,如果是这样,我该如何做到这一点?或者我应该忽略这一点,只要他们通过支持就可以解决它.

sms protection spoofing

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

如何忽略某些套接字请求

我目前正在使用C++编写TCP套接字服务器; 我试图找出如何忽略对我的服务器进行的所有浏览器连接.有任何想法吗?

谢谢.

c++ sockets tcp

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

Visual Studio发布版本

我正在尝试为我编写的C++应用程序生成一个发布版本.从VS2008中运行应用程序时,应用程序运行正常(调试和释放); 但是当你运行可执行文件时,它几乎每次都会崩溃.

现在,是否有一个黑客,所以我可以作为独立的应用程序运行此应用程序,而无需运行所有代码并找到导致它的错误?

提前致谢.

c++ release build

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