第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

以下是關(guān)于accept()函數(shù)的一些問題,麻煩幫忙看看哦!

以下是關(guān)于accept()函數(shù)的一些問題,麻煩幫忙看看哦!

當(dāng)年話下 2021-10-20 17:15:16
在TCP中,我用accept()函數(shù)與客戶端建立了連接,并接受了一個(gè)套接字,但此后我想用accept與另一個(gè)用戶建立連接,但不想用closesocket()關(guān)閉那個(gè)接收到的套接字,要怎么做才行!……也就是說我要怎么中斷服務(wù)端與客戶端的一個(gè)套接字的連接,而去連接另一個(gè)客戶端的套接字,并在此后還能使用前一個(gè)客戶端的套接字!就是SOCKET sockClient=accept(sockListen,(SOCKADDR*)&addrClient,&len);我想用sockListen來接受另一個(gè)用戶的套接字,但又不想關(guān)閉套接字sockClient,要怎么辦?
查看完整描述

2 回答

?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

accept()函數(shù)用于一個(gè)套接口接受一個(gè)連接。accept()是c語言中網(wǎng)絡(luò)編程的重要的函數(shù),windows系統(tǒng)在#include<winsock.h> ,而linux系統(tǒng)在#include <sys/socket.h>中。
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
參數(shù)
sockfd:套接口描述字,該套接口在listen()后監(jiān)聽連接。
addr:(可選)指針,指向一緩沖區(qū),其中接收為通訊層所知的連接實(shí)體的地址。Addr參數(shù)的實(shí)際格式由套接口創(chuàng)建時(shí)所產(chǎn)生的地址族確定。
addrlen:(可選)指針,輸入?yún)?shù),配合addr一起使用,指向存有addr地址長度的整型數(shù)。
實(shí)例:
#ifndef UNICODE
#defineUNICODE
#endif
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#pragmacomment(lib,"Ws2_32.lib")
int wmain(void)
{
WSADATAwsaData ;
intiResult=WSAStartup(MAKEWORD(2,2),&wsaData);
if(iResult!=NO_ERROR)
{
wprintf(L "WSAStartupfailedwitherror:%ld\n",iResult);
return 1 ;
}
SOCKETListenSocket ;
ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(ListenSocket==INVALID_SOCKET)
{
wprintf(L "socketfailedwitherror:%ld\n",WSAGetLastError());
WSACleanup();
return 1 ;
}
sockaddr_inservice ;
service.sin_family=AF_INET ;
service.sin_addr.s_addr=inet_addr("127.0.0.1");
service.sin_port=htons(27015);
if(bind(ListenSocket,
(SOCKADDR*)&service,sizeof(service))==SOCKET_ERROR)
{
wprintf(L"bindfailedwitherror:%ld\n",WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1 ;
}
if(listen(ListenSocket,1)==SOCKET_ERROR)
{
wprintf(L"listenfailedwitherror:%ld\n",WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1 ;
}
SOCKETAcceptSocket ;
wprintf(L "Waitingforclienttoconnect...\n");
AcceptSocket=accept(ListenSocket,NULL,NULL);
if(AcceptSocket==INVALID_SOCKET)
{
wprintf(L "accept failed with error:%ld\n",WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1 ;
}
else
wprintf(L "Clientconnected.\n");
//Nolongerneedserversocket
closesocket(ListenSocket);
WSACleanup();
return 0 ;
}



查看完整回答
反對 回復(fù) 2021-10-24
?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊

客戶端調(diào)用close()函數(shù)關(guān)閉socket對象,另客服端一個(gè)直接發(fā)起連接。因?yàn)閍ccept()函數(shù)連接成功后,會還回一個(gè)新的文件描述符。

查看完整回答
反對 回復(fù) 2021-10-24
  • 2 回答
  • 0 關(guān)注
  • 471 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號