connect()函數(shù)參數(shù)是 connect(int sockfd, const struct sockaddr * addr, socklen_t addrlen);
成都創(chuàng)新互聯(lián)公司長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為成安企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè),成安網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
其中addr即地址,這里如果要綁定域名的話,首先需要從域名轉(zhuǎn)為ip地址進(jìn)行綁定,即通過gethostbyname(const char * name)函數(shù)將域名轉(zhuǎn)為ip就可以了
眾所周知TCP(Transmission Control Protocol )是一種面向連接的、可靠的、基于字節(jié)流的通信協(xié)議。而開發(fā)TCP socket應(yīng)用程序是一件比較簡單的事情。下面就用一個(gè)比較簡單的demo 講解開發(fā)的過程。
該程序分為客戶端和服務(wù)器端,客戶端主要是向服務(wù)器端發(fā)送數(shù)據(jù),服務(wù)器端主要是對(duì)于接收的數(shù)據(jù)進(jìn)行顯示。
TCP服務(wù)器端和客戶端的主要流程:
服務(wù)器端:1 創(chuàng)建套接字 2 綁定 3 監(jiān)聽 4 接受連接 5 收發(fā)數(shù)據(jù) 6 關(guān)閉
客戶端: 1 創(chuàng)建套接字 2 連接 3 收發(fā)數(shù)據(jù) 4 關(guān)閉
實(shí)現(xiàn)中用到的主要函數(shù)及
服務(wù)器: 1 WSAStartup() 2 socket() 3 bind() 4 listen() 5 accept() 6 recv() 7 closesocket() 8 WSACleanup()
客戶端: 1 WSAStartup() 2 socket() 3 connect() 4 send() 5 closesocket() 6 WSACleanup()
下面是server 和 client 的實(shí)現(xiàn)代碼,運(yùn)行的時(shí)候首先啟動(dòng)server,然后再啟動(dòng)client, 則在server部分打印出“hello world” 。
getHostAddressprotected InetAddress getHostAddress(URL u) 獲取主機(jī)的 IP 地址。如果主機(jī)字段為空或出現(xiàn) DNS 錯(cuò)誤,則會(huì)返回 null。 參數(shù): u - URL 對(duì)象 返回: 表示主機(jī) IP 地址的 InetAddress。 從以下版本開始: 1.3 /dd
配置參考如下:
每個(gè)微信小程序需要事先設(shè)置通訊域名,小程序只可以跟指定的域名進(jìn)行網(wǎng)絡(luò)通信。包括普通HTTPS請求(wx.request)、上傳文件(wx.uploadFile)、下載文件(wx.downloadFile)和WebSocket通信(wx.connectSocket)。
服務(wù)器域名請?jiān)凇感〕绦蚝笈_(tái)-開發(fā)-開發(fā)設(shè)置-服務(wù)器域名」中進(jìn)行配置。
配置時(shí)需要注意:域名只支持https(wx.request、wx.uploadFile、wx.downloadFile)和wss(wx.connectSocket)協(xié)議。
域名不能使用IP地址(小程序的局域網(wǎng)IP除外)或localhost。
可以配置端口,如https://myserver.com:8080,但是配置后只能向https://myserver.com:8080發(fā)起請求。如果向https://myserver.com、https://myserver.com:9091等URL請求則會(huì)失敗。
如果不配置端口,如https://myserver.com,那么請求的URL中也不能包含端口,甚至是默認(rèn)的443端口也不可以。如果向https://myserver.com:443請求則會(huì)失敗。
域名必須經(jīng)過ICP備案;出于安全考慮,api.weixin.qq.com不能被配置為服務(wù)器域名,相關(guān)API也不能在小程序內(nèi)調(diào)用。開發(fā)者應(yīng)將AppSecret保存到后臺(tái)服務(wù)器中,通過服務(wù)器使用getAccessToken接口獲取access_token,并調(diào)用相關(guān)API。
對(duì)于每個(gè)接口,分別可以配置最多20個(gè)域名。