首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个Tcp客户端可以同时建立到两个不同服务器的连接吗?

一个Tcp客户端可以同时建立到两个不同服务器的连接吗?
EN

Stack Overflow用户
提问于 2013-10-04 17:37:15
回答 1查看 908关注 0票数 1

我应用程序的BlokDiagram:

我有一个基于TCP/IP的系统。正如您在框图中所看到的,任务是从SAP-Server获取数据。客户端接收文件并将其保存在已知目录中,Gui-App可以访问这些文件。

我需要创建一个Tcp客户端,它应该从SAP服务器接收文件,并将它们发送到Zebra-Printer。客户端应用程序需要同时发送数据和接收数据。我是否可以在一个客户端应用程序中完成此操作,或者我是否需要多个客户端?

我在互联网上找到这段代码只是为了测试。

代码语言:javascript
运行
复制
{
int Socket1 = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

sockaddr_in SrcSockAddr;
SrcSockAddr.sin_family = PF_INET;
SrcSockAddr.sin_addr.s_addr = inet_addr("192.168.1.2");
SrcSockAddr.sin_port = htons(5061);

if( -1 == bind(Socket1, (sockaddr*) &SrcSockAddr, sizeof (SrcSockAddr)) )
   exit(1);

sockaddr_in DstSockAddr;
DstSockAddr.sin_family = PF_INET;
DstSockAddr.sin_addr.s_addr = inet_addr("192.168.1.3");
DstSockAddr.sin_port = htons(5061);

if( connect(Socket1, (sockaddr*)&DstSockAddr, sizeof(DstSockAddr)) )
    exit(2);


int Socket2 = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

if( -1 == bind(Socket2, (sockaddr*) &SrcSockAddr, sizeof (SrcSockAddr)) )
    exit(3);

DstSockAddr.sin_port = htons(5062);
if( connect(Socket2, (sockaddr*)&(DstSockAddr), sizeof(DstSockAddr)) )
    exit(4);

exit(0);
}

找不到出了什么问题...

EN

回答 1

Stack Overflow用户

发布于 2013-10-04 17:46:02

您可以在一个客户端应用程序中使用两个套接字,每个服务器连接一个套接字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19177985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档