标签: network-programming

客户可以阻止他们的IP地址,没有人知道吗?

我正在使用代码来了解客户端IP,谁登录到我的网站,直到它工作正常,但如果客户端阻止他们的IP然后我会得到,我会得到他们的IP,实际上是有任何有机会阻止他们在互联网连接的IP?

请帮帮我,提前致谢

c# asp.net network-programming ip-address

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

accept()返回无效参数

了解TCP连接.任何人都可以看到为什么我的accept()调用错误的"无效参数"?我看不出我做错了什么.谢谢!

int main(int argc, char *argv[]) {

    int sockfd, newfd;

    struct sockaddr_in clientAddr;
    unsigned int recvLen;
    socklen_t addr_size;

    fd_set read_set;
    struct timeval tv;

    // initialize the fd set
    FD_ZERO(&read_set);

    // prepare the address struct for the first client
    bzero(&clientAddr,sizeof(clientAddr));                          //zero the struct
    clientAddr.sin_family = AF_INET;                              //address family (ipv4)
    clientAddr.sin_port = htons(6001);  //sets port to network byte order
    clientAddr.sin_addr.s_addr = INADDR_ANY;
    addr_size = sizeof(clientAddr);

    if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        fprintf(stdout, "Cannot create socket for client 0.\n");
        fprintf(stdout, "Terminating …
Run Code Online (Sandbox Code Playgroud)

c sockets network-programming tcp

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

使用C#序列化对象的最佳实践/方法

IM工作的协作绘图(套接字编程)在我所发送和收到100至1000 Point of C# Class,所以我想知道,是什么让发送和接收这些点最好的办法..我有两个选择..一个是List<Point>和其他正在Point[]使用BinaryFormatterJSON,但是我已经阅读过JSON用于发送少量数据的信息,但我不知道它是否可以与C# window applicationsthanx一起使用以提供任何帮助

c# serialization json network-programming winforms

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

函数inet_ntoa在哪里真正定义了?

我在/usr/include/arpa/inet.h中看到以下这一行:

extern char *inet_ntoa (struct in_addr __in) __THROW;
Run Code Online (Sandbox Code Playgroud)

但它在哪里真正定义?

c network-programming

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

将Reachability与ReactiveCocoa集成?

我正在使用ReactiveCocoa开发应用程序,现在是时候整合Reachability来处理网络事件了.

我不确定我所做的工作,因为一些RAC设计指南建议反对它.但是从我一直在研究的内容来看,我找不到合适的方法来管理这个(或者更可能的是,我不明白怎么做).

我们的想法是拥有一个独特的信号,在Reachability的通知上发送事件.我们的每个视图控制器都会订阅该信号,并以特定的方式对每个信号做出反应(即ale​​rtview,什么也不做,等等).

问题是我们只需要可见的viewcontroller来做出反应,所以我们使用的是RACDisposable.这样,当一个viewcontroller出现时,它会订阅信号,当它消失时,我们就会处理它.

根据RAC的设计指南,应避免使用RACDisposable,但我无法以任何其他方式处理此订阅/取消订阅周期.

这种方法对于这种"无限"信号是否正确?

我们的另一种选择是使用一个信号,当一个新的用户加入时,它会删除以前的用户.这样的事情存在吗?

提前感谢任何光线,你可以指出我的方向.


这个 SO帖子我开始尝试takeUntil:[self rac_willDeallocSignal]这在理论上似乎有用,但对我来说并不适用.由于此行为封装在Manager中,并且不应该取消分配,我不知道这对我有利.

我想到的一个选项是,takeUntil只要调用一个停止方法,就会触发一个新信号; 但它似乎只是因为我们不使用RACDisposable.

network-programming objective-c reachability ios reactive-cocoa

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

使用python ping到特定的IP地址

我想编写一个python脚本,该脚本应检查特定IP地址是否可访问.我是python编程的新手,不知道代码的外观.帮忙

python network-programming ping ip-address icmp

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

绑定到TCP / UDP套接字

绑定函数用于为套接字描述符分配名称(sockaddr结构)。为什么需要TCP服务器而不是TCP客户端?为何bot UDP客户端和服务器需要它?

我还编写了正确的工作代码,而没有在UDP Client中使用bind()。

我不明白为什么bind()不能被普遍使用,即在上述所有情况下。

c sockets udp network-programming tcp

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

UDP recvfrom数据无法正常显示

Html文件具有以下内容

的helloworld.html

Hello World
Testing Echo Server
Run Code Online (Sandbox Code Playgroud)

服务器输出

在此输入图像描述

客户代码

//Pack contents into UDP packet and send
while(1) {
    //Check for Validity of File
    readSize = fread(buffer, 1, bufferSize, currentFile);
    if (readSize <= 0) {
        if (ferror(currentFile) != 0) {
            fprintf(stderr, "Unable to read from file %s\n", inputFile);
            free(buffer);
            fclose(currentFile);
            close(sDescriptor);
        }
        break;
    }
    //Send Data
    if (send(sDescriptor, buffer, readSize, 0) < 0) {
        fprintf(stderr,"Send failed\n");
        free(buffer);
        fclose(currentFile);
        close(sDescriptor);
        exit(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

服务器代码

/* Receive Data & Print */
unsigned int …
Run Code Online (Sandbox Code Playgroud)

c sockets network-programming

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

将一个IO递归循环重构为Haskell中的monad折叠

我写了一个tcp服务器,这是我的主循环方法:

serverLoop :: Socket -> IO ()
serverLoop sock = do
    (conn, _) <- accept sock
    forkIO $ handleConn conn
    serverLoop sock
Run Code Online (Sandbox Code Playgroud)

(注意:handleConn :: Socket -> IO ()是我的程序特有的功能.)

我想将它重构成更加一元的方式,这是我的试探性的:

serverLoop :: Socket -> IO ()
serverLoop sock = foldl1 (>>) $ map go $ repeat sock
     where go sock = (accept sock) >>= (forkIO . handleConn . fst) >> return ()
Run Code Online (Sandbox Code Playgroud)

但是,一旦我开始通过套接字发送数据,这会使程序崩溃.

以下是我的问题:为什么?有什么办法解决的?

sockets haskell network-programming io-monad

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

WebRequest(System.Net)是Unity中的安全选择吗?

首先,让我说明我的问题:我的游戏服务器不提供WebAPI(我们现在没有资源),而是我们的客户端像网络浏览器一样工作,我需要对会话ID的cookie支持.

搜索Google,我发现我能做的最好的事情就是手动设置请求标头并获取响应标头.我很好,因为我最初是ASP.NET MVC开发人员.

但是,我意识到它们Dictionary同时用于请求和响应.现在这就是问题所在.我们知道标题可以重复,在我的例子中是Set-Cookie.

然后我尝试了另一个,找到了UnityWebRequest仍然在UnityEngine.Experimental.Networking命名空间中的类(所以我想它还处于测试阶段?),但我还是试试运气; 只有悲伤才意识到他们也使用字典作为标题项.

所以现在我唯一的机会是vanilla .NET WebRequest(在System.Net命名空间中).但是,我没有看到Unity中.NET Framework兼容性的文档.谁能告诉我它是否在大多数平台上都受支持?我的主要目标是Windows,Android和Web.如果可能的话,即使WebClient是更好的.

这是我目前的解决方案,它在Unity编辑器中运行良好,但我还没有在其他设备上测试它们.这有什么解决方案吗?

public class CookieWebRequest
{

    private CookieContainer cookieContainer;


    public CookieWebRequest()
    {
        this.cookieContainer = new CookieContainer();
    }

    public void GetAsync(Uri uri, Action<HttpWebResponse> onFinished)
    {
        var webRequest = HttpWebRequest.Create(uri) as HttpWebRequest;
        webRequest.Method = WebRequestMethods.Http.Get;
        webRequest.CookieContainer = this.cookieContainer;

        new Thread(() =>
        {
            HttpWebResponse httpResponse;
            try
            {
                httpResponse = webRequest.GetResponse() as HttpWebResponse;
            }
            catch (WebException ex)
            {
                if (onFinished != null)
                {
                    onFinished(ex.Response as HttpWebResponse); …
Run Code Online (Sandbox Code Playgroud)

c# cookies mono network-programming unity-game-engine

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