中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

群暉nas可以做網站嗎如何建立網站平臺

群暉nas可以做網站嗎,如何建立網站平臺,銷售網站免費模板,深圳高端網站建設報價最近在學習最基礎的socket網絡編程,在Tcpserver開啟多線程并發(fā)處理時遇到了一些問題! 說明 在linux以及Windows的共享文件夾進行編寫的,所以代碼中有的部分使用 #ifdef WIN64 ... #else ... #endif 進入正題!!&…

最近在學習最基礎的socket網絡編程,在Tcpserver開啟多線程并發(fā)處理時遇到了一些問題!

說明

在linux以及Windows的共享文件夾進行編寫的,所以代碼中有的部分使用

#ifdef WIN64
...
#else
...
#endif 

進入正題!!!
先來看看代碼~

#include <string.h>
#include <stdlib.h>
#include <stdio.h>#ifdef _WIN64
#include<windows.h>
#define socklen_t int
#else
#include <sys/types.h>          
#include <sys/socket.h>
#include <unistd.h>
#include <arpa/inet.h>
#define  closesocket close   //因為linux和Windows下不同,所以定義了一個宏
#endif #include <thread>
using namespace std;
class TcpThread //建立一個線程類
{
public:void Main() //入口函數(shù){char buf[1024] = { 0 };for (;;){int recvlen = recv(client, buf, sizeof(buf) - 1, 0);if (recvlen <= 0) break;buf[recvlen] = '\0';//在結尾加\0if (strstr(buf, "quit") != NULL) {char re[] = "quit success\n";send(client, re, strlen(re) + 1, 0);break;}int sendlen = send(client, "ok\n", 4, 0);printf("recv %s\n", buf);}closesocket(client); //關閉delete this;//要確保TcpThread 是new出來的}int client = 0;
};#include<stdio.h>
int main( int argc, char *argv[])
{
#ifdef WIN64WSADATA ws;WSAStartup(MAKEWORD(2, 2), &ws);
#endif // WIN64int sock=socket(AF_INET, SOCK_STREAM, 0);if (sock == -1){printf("create socket failed!\n");return -1;}printf("[%d]", sock);unsigned short port = 8080;if (argc > 1) //如果輸入端口,則使用輸入的,否則用8080{port = atoi(argv[1]);//傳遞端口號}sockaddr_in saddr;saddr.sin_family = AF_INET;saddr.sin_port = htons(port);//小端轉大端saddr.sin_addr.s_addr = htonl(0);if (::bind(sock, (sockaddr*)&saddr, sizeof(saddr)) != 0){printf("bind port %d faild!\n", port);return -2;}else {printf("bind port %d success!\n", port);}listen(sock, 10);for (;;){sockaddr_in caddr;socklen_t len = sizeof(caddr);int client = accept(sock, (sockaddr* ) & caddr, &len);if (client <= 0) break;printf("accept client %d\n", client);char *ip = inet_ntoa(caddr.sin_addr);unsigned short cport = ntohs(caddr.sin_port);printf("client ip is %s,port is %d\n", ip, cport);TcpThread *th = new TcpThread(); //new出來th->client = client;//傳入創(chuàng)建好的clientthread sth(&TcpThread::Main, th);//啟動線程sth.detach();//釋放主線程擁有的子線程的資源}closesocket(sock);
//#if WIN64
//	closesocket(sock);
//	closesocket(client);
//#else
//	close(sock);
//	close(sock);
//#endif // WIN64return 0;}

這時候直接在linux在make main會報錯
在這里插入圖片描述
這說明我們使用c++11,這里我們需要寫一個makefile,接著我們
vim makefile
在里面我們寫如下代碼:
在這里插入圖片描述
然后在make,這里發(fā)現(xiàn)成功了,然后./tcpserver嘗試創(chuàng)建多個線程, 在主線程發(fā)現(xiàn)成功了
在這里插入圖片描述
用戶開始連接,就報錯
在這里插入圖片描述
這時候我們就要注意了,是makefile里面缺少 -pthread;
在這里插入圖片描述
接著在編譯運行,發(fā)現(xiàn)成功了!!!
在這里插入圖片描述

創(chuàng)建多線程,進行測試,

打開兩個端口telnet 192.168.xxx.xxx 8081 連接成功如下:
在這里插入圖片描述在這里插入圖片描述

分別在兩個里面發(fā)送消息1,2,收到了回復
在這里插入圖片描述

然后主線程收到消息,表示成功了!
在這里插入圖片描述

注意:

C++是支持多線程,但是需要注意以下三點:

  1. 必須包含頭文件#include
  2. 必須有編譯選項-std=c++11
  3. 必須有編譯選項-pthread,否則運行出現(xiàn)Enable multithreading to use std::thread: Operation not permitted。同時-lpthread和-pthread一樣,但是建議使用-pthread。因為編譯選項中指定 -pthread 會附加一個宏定義 -D_REENTRANT,該宏會導致 libc 頭文件選擇那些thread-safe的實現(xiàn);鏈接選項中指定 -pthread 則同 -lpthread 一樣,只表示鏈接 POSIX thread 庫。由于 libc 用于適應 thread-safe 的宏定義可能變化,因此在編譯和鏈接時都使用 -pthread 選項而不是傳統(tǒng)的 -lpthread 能夠保持向后兼容,并提高命令行的一致性。

小白初次學習,希望大佬們多多指教!!!

http://www.risenshineclean.com/news/66005.html

相關文章:

  • 沈陽網站建設推廣南京seo網絡推廣
  • 怎么用2013做網站谷歌廣告上海有限公司官網
  • 網站轉app免費百度搜索風云榜小說總榜
  • 營銷型網站收費搜狗登錄入口
  • WordPress采集中文永久免費版下載單頁關鍵詞優(yōu)化費用
  • 自己怎樣做淘客網站91永久免費海外地域網名
  • 最好網站建設公司排名寧波優(yōu)化網頁基本流程
  • 虛擬資源站碼支付wordpress全網營銷推廣公司
  • 淄博網站建設-中國互聯(lián)中小企業(yè)管理培訓班
  • 西城專業(yè)網站建設公司哪家好如何進行網站性能優(yōu)化
  • 網站整站下載帶數(shù)據(jù)庫后臺的方法濟南百度競價開戶
  • 想自己做網站嗎培訓班有哪些課程
  • 專門做app的原型網站付費推廣平臺有哪些
  • 科技公司網站設計公司深圳優(yōu)化公司義高粱seo
  • 網站沒完善做cdn的后果吸引人氣的營銷方案
  • 泰安有口碑的企業(yè)建站公司免費推廣軟件
  • 專做美容師招聘網站網絡管理系統(tǒng)
  • 響應式網站建設推廣百度推廣銷售員的工作內容
  • 成都科技網站建設電話多少公司網站制作要多少錢
  • 那家財經網站做的好2020十大網絡熱詞
  • 成功案例 網站網站推廣平臺有哪些
  • 網站建設獨立高端網站建設制作
  • 做國外市場哪個網站好口碑營銷成功案例有哪些
  • 淄博周村網站建設哪家好杭州網絡推廣
  • 做網站設計提成賺錢嗎百度百度一下官網
  • 動態(tài)網站開發(fā)心得體會百度推廣后臺登陸官網
  • 漳州網站建設點擊博大選百度云
  • 第3章營銷型企業(yè)網站建設開魯seo網站
  • 2020年新聞大事件長春網站seo公司
  • 蘭州網站建設公司排名網絡營銷推廣的渠道有哪些