導航:首頁 > 編程語言 > net線程編程

net線程編程

發布時間:2024-12-17 07:14:34

⑴ C語言基礎網路編程求助 如何實現多線程

#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>

void*thread(void*);
int client[5],i;

main()
{
int serverSocket= socket(AF_INET,SOCK_STREAM,0);
struct sockaddr_in server_addr;
struct sockaddr_in clientAddr;
int addr_len = sizeof(clientAddr);
//線程
pthread_t id;
pthread_attr_t attr;
pthread_attr_init(&attr);////////////////////////////////////////////////
pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
//創建地址
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family =AF_INET;
server_addr.sin_port = htons(5555);
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
//綁定
bind(serverSocket,(struct sockaddr *)&server_addr,sizeof(server_addr));
listen(serverSocket,5);
for(i=0;i<5;i++)
{
client[i] = accept(serverSocket,(struct sockaddr *)&clientAddr,(socklen_t*)&addr_len);
pthread_create(&id,&attr,thread,(void *)&client[i]);/////////////////////////////////
pthread_join(id,NULL);
}
close(serverSocket);/////////////////////////
return 0;
}
void* thread(void* argv)
{
char buffer[200];
int a=i;
int s_c = *((int*)argv);///////////////////
while(1)
{
int n = recv(s_c,buffer,sizeof(buffer),0);
if(n > 0)
printf("客戶端發過來的 : %s\n",buffer);
else
return;
}
close(s_c);
}

閱讀全文

與net線程編程相關的資料

熱點內容
購買軟體能加密嗎 瀏覽:3
發泡pdf 瀏覽:59
伺服器雙網卡綁定交換機如何配置 瀏覽:444
java靜態方法的重寫 瀏覽:938
哪裡有超全的漫畫app 瀏覽:924
基於單片機的全自動洗衣機控制系統 瀏覽:462
單片機點陣視頻教程 瀏覽:982
壓縮面膜怎麼選擇 瀏覽:807
基於命令的標准acl配置實例 瀏覽:76
第一現場車機怎麼下載其他app 瀏覽:906
中興路由3s命令 瀏覽:81
為什麼顯示加密模塊未打開 瀏覽:143
DES指的是對稱加密技術 瀏覽:264
開封哪裡有短視頻app平台 瀏覽:827
iphone緩存app里的電影在哪裡 瀏覽:976
純色文件夾怎麼創建 瀏覽:1
python如何遠程伺服器 瀏覽:409
怎麼把伺服器設置成高匿 瀏覽:144
最新的眾泰app在哪裡下載 瀏覽:859
程序員新加坡 瀏覽:171