0
我可以連接客戶端與4臺服務器嗎?我必須檢查一個人是否有意識。但是當我運行我的程序時,它適用於第一臺服務器。對於接下來的服務器,有錯誤:「傳輸端點已經連接」 我的代碼:客戶端通過套接字連接多臺服務器
void contact(int socket, int argc, char **argv, node **server_threads)
{
pthread_t s;
int socketFd, newsockfd,i;
struct sockaddr_in serverAddr;
socklen_t clientlen = sizeof(clientAddr);
for(i=3;i<argc;i=i+2)
{
serverAddr = makeClientAddress(argv[i],atoi(argv[i+1]));
if(connect(socketFd,(struct sockaddr *) &serverAddr,sizeof(struct sockaddr_in))<0)
error("connect");
}
while(newsockfd = accept(sockfd, (struct sockaddr *) &(clientAddr), &clientlen))
{
printf("Server is active\n");
insert_at_end(server_threads, NULL,NULL,&s);
pthread_create(&s, NULL, (void*)connect_with_server,&sockfd);
}
void connect_with_server(void* arg){
int* sock=(int*)arg;
while(1)
{
if(read(sock,(char *)data,sizeof(int32_t[5]))<(int)sizeof(int32_t[5])) ERR("read:");
printf("Signal from server\n");
}
重新連接之前關閉套接字。 –
「我可以將客戶端連接到4臺服務器嗎?」當然 - 你的網絡客戶端(瀏覽器)支持有多個標籤可以打開到不同的網站嗎? – twalberg
你的客戶爲什麼叫'accept()'? – alk