Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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_Tcp - Fatal编程技术网

在C语言中将客户端连接到多个服务器

在C语言中将客户端连接到多个服务器,c,sockets,tcp,C,Sockets,Tcp,我想创建一个连接到多个服务器(例如,5台服务器)的客户端。客户端需要向这5台服务器发送不同的数据。我已经研究了select()、pthreads和fork(),但是我发现的所有示例都依赖于accept()来创建新的套接字 由于这是一个客户端,我发现我不需要调用bind()、accept()等: 基本上,我想做的是: 在客户端: 创建5个套接字 使用connect()将这些套接字连接到5台服务器 同时将数据发送到这些服务器 将此数据接收回客户端 任何人都可以发布一些伪代码/将我链接到一些资源来

我想创建一个连接到多个服务器(例如,5台服务器)的客户端。客户端需要向这5台服务器发送不同的数据。我已经研究了select()、pthreads和fork(),但是我发现的所有示例都依赖于accept()来创建新的套接字

由于这是一个客户端,我发现我不需要调用bind()、accept()等:

基本上,我想做的是:

在客户端:

  • 创建5个套接字
  • 使用connect()将这些套接字连接到5台服务器
  • 同时将数据发送到这些服务器
  • 将此数据接收回客户端

任何人都可以发布一些伪代码/将我链接到一些资源来实现我所需要的吗

这一点目前过于宽泛。您似乎知道您需要创建一个套接字并使用
连接
,因此,从使用一台服务器开始,然后在完成该工作后将其扩展到5。如果您有更具体的问题,请将其与所有相关代码一起发布。我认为这个问题可能会对您有所帮助-非常相似;)@dbush我让它为一台服务器工作,我只是不知道如何将它扩展到5。。。这就是我目前无法继续下去的地方。我应该发布我的客户代码吗?@ChrisTurner我已经发布了这个问题,他们建议使用select,但是我找不到我需要的:(听起来好像每个套接字都需要一个单独的线程。所以使用
pthread\u create
创建所需的线程,然后让每个线程为一个套接字服务。这目前太宽泛了。您似乎知道需要创建一个套接字并使用
connect
,所以从使用一台服务器开始,然后一旦有了如果您有更具体的问题,请将其与所有相关代码一起发布。我认为这个问题可能会对您有所帮助-非常相似;)@dbush我让它为一台服务器工作,我只是不知道如何将它扩展到5…这就是我目前无法继续的地方。我应该发布我的客户端代码吗?@ChrisTurner我已经发布了这个问题,他们建议使用select,但我找不到我需要的:(听起来每个套接字都需要一个单独的线程。所以使用
pthread\u create
创建所需的线程,然后让每个线程为一个套接字服务。