小编gva*_*o87的帖子

如何了解C中接口的IP地址?

假设我正在运行一个名为IpAddresses.c的程序.我希望该程序根据每个接口获取此设备具有的所有IP地址.就像ifconfig一样.我怎样才能做到这一点?

我对ioctl了解不多,但我读到它可能会对我有所帮助.

c ioctl interface ip-address

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

向C中的pthread发送和捕获信号

我知道如何使用该kill(pid_t pid, int sig)函数将信号发送到C中的子进程.那么向线程发送信号呢?可能吗?.如果是这样,如何捕获"子"线程上的信号.例如,如果主线程向我发送终止信号,我怎么能在另一个线程中捕获它.

c multithreading pthreads process

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

如何在不同的类中设置委托

我正在使用解析xml文档的NSXMLParser.您必须设置每次解析器找到元素时我们将调用的委托.我看过的例子都将委托设置为创建的同一个类:

NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:filename];
[parser setDelegate: self];
Run Code Online (Sandbox Code Playgroud)

其他示例将委托设置为父级.如果我想要另一个类(与同一个类无关)来处理委托,该怎么办?这样做的语法是什么?

我做到了这一点,但它不起作用.

@interface Util : NSObject <NSXMLParserDelegate> {
    //Some code here
}

//functions for the delegate and the implementation on the Util.m
//.
//.
//.
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答.

我忘了说在调用代表时我假设它会是这样的:

[parser setDelegate:Util];
Run Code Online (Sandbox Code Playgroud)

我认为这知道要为同一个类设置委托,消息是:

[parser setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

delegates objective-c nsxmlparser

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

如何知道套接字何时完成读取

我对插座知之甚少但到目前为止我没有太大的问题.我实际上坚持如何知道对方何时完成发送消息.到目前为止我所拥有的是服务器端的while循环,它从套接字读取直到没有任何东西(或者应该这样做).这是代码:

char c[1024]; //buffer
inst much;
while(much = read(sockfd, &c, 1024) > 0) {
   printf("read %d, clientSays> %s\n", much, c);
}
printf("reading, finished\n");
Run Code Online (Sandbox Code Playgroud)

因此,在客户端,我发送一个"hello world"消息,该消息实际上显示在服务器控制台上,但它不会打印"读取完成"消息,因此我认为它会等待另一条消息.

我认为当没有其他内容可读时,read函数会返回0,但我想情况并非如此

那么,我做错了什么?


更新

实际上,在阅读了你的答案并仔细阅读了代码之后,我意识到这就是协议的用途.

当一方已经完成并且另一方应该开始写作时,我应该事先知道.也许添加一个最后一个字符,让我知道我已完成发送,或者为邮件添加前缀大小.

谢谢你的回答.

c sockets

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

网络拓扑结构

我正在尝试构建一个显示网络拓扑的应用程序,使用c或c ++.我有套接字的知识.我知道这是一个广泛的问题,细节很少.只是我没有找到任何东西开始.我不知道该怎么做.

c sockets networking topology

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

GtkButton只显示文字但没有图像

我在GtkHButtonBox中有一个GtkButton,它没有显示我正在添加的图像.它只显示文字.这是代码:

GtkImage *image = (GtkImage *) gtk_image_new_from_file("Gateway-LT21-netbook-2-540x359");
GtkButton *button = (GtkButton *) gtk_button_new_with_label("test");
gtk_button_set_image(button, (GtkWidget *) image);
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?

c gtk user-interface

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

只需检查c中的状态过程

我想知道一个过程的状态.我想我可以使用等待系列功能但实际上我不想等待该过程,只需检查状态并继续.

我想要类似的东西

checkStatusOfProcess(&status);
if(status == WORKING) {
    //do something
} else if(status == exited) {
    //do something else
} else \\I dont care about other states
Run Code Online (Sandbox Code Playgroud)

c fork process wait

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

有没有办法在c中运行任何exec系列函数作为线程

我认为问题是不言自明的.

我知道exec运行在另一个进程上,所以如果我想要一个目录,我会做那样的事情.

int pid;
if((pid = fork()) != -1) {
     if(!pid) {
         execl("/bin/ls", "-a", "-l", (char *) 0);
     } else {
         wait(&status);
     }
} else //error
Run Code Online (Sandbox Code Playgroud)

如果你想创建一个进程,那很好,但线程呢?我虽然冷杉创建线程然后exec函数,但这将使我刚刚创建的线程有两个进程

c multithreading pthreads process exec

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

沟通c程序和PHP

我想要一个显示输入值的网页(用PHP编写,因为它是我所知道的).我希望将该值传递给已经运行的ac程序.

我虽然使用套接字在两个进程之间进行通信,但我该如何设法做到这一点?如何使用fsockopen连接到本地套接字.

php c communication exec

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