Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 帮助解决以下情况_C_Sockets - Fatal编程技术网

C 帮助解决以下情况

C 帮助解决以下情况,c,sockets,C,Sockets,我的代码是 if(s==-1) { //conection is made } else { //already connected } while(----) //rest part continues 在这个例子中,当我第一次执行这个程序时,如果没有建立连接,如果部分得到执行,而条件得到正常执行。如果我重新编译这个,那么我希望while部分首先被执行,而不是重复connections部分。那么,我必须在代码中插入哪些检查,以便在第二次编译时,必须立即执行部

我的代码是

if(s==-1)
{
    //conection is made 
}
else
{
    //already connected  
}
while(----)  
    //rest part continues

在这个例子中,当我第一次执行这个程序时,如果没有建立连接,如果部分得到执行,而条件得到正常执行。如果我重新编译这个,那么我希望while部分首先被执行,而不是重复connections部分。那么,我必须在代码中插入哪些检查,以便在第二次编译时,必须立即执行部分?

我不知道您为什么要这样做,但如果我理解正确,您希望在运行的程序的不同调用之间保持某种状态。
您不能使用程序内变量来保持这种状态,因为每次调用都会重新初始化它们。如果不想使用数据库进行此类状态维护,可以使用一些文件系统标记(ex的临时文件)。

通常,当程序完成时,连接会丢失,通常很难使用现有连接。另外,请注意您正在使用哪种语言来帮助他人为您提供准确的答案您可以控制您的代码。在代码的开头,您必须创建连接。这样做之后,您应该并且始终应该检查它是否成功。如果不是,则不要运行代码,如果是,则可能重试连接,执行您想要的代码。除了您的“已连接”注释外,代码似乎并不不合适。但这可能是因为我们只看到有限的上下文在这种情况下,服务器连接保持不变,只有客户端程序得到执行。那么应该怎么做呢?要么是问题的解释不清楚,要么是理解不清楚。您正在编写客户端应用程序。服务器端发生的事情与您的客户端应用程序无关。您的客户端应用程序需要连接、检查是否已连接、执行操作并关闭。服务器不会因此而改变。那么这真的没有任何意义!如果您有3台机器,服务器、客户端1、客户端2。服务器代码不能在2个客户端上运行,类似地,客户端代码也不会在服务器上运行。我不想回答这个问题,因为我不明白