我們老師讓寫乙個簡單的聊天軟體,並且實現不同機子之間的通訊,我用的是socket程式設計。不廢話多說了,先附上**:
伺服器端server.c
#include #include #include #include #include #include #include #include #include #include #define buflen 1024客戶端client.c#define port 6666
#define listnum 20
int main()
else
printf("socket create success!\n");
memset(&s_addr,0,sizeof(s_addr));
s_addr.sin_family = af_inet;
s_addr.sin_port = htons(port);
s_addr.sin_addr.s_addr = htons(inaddr_any);
/*把位址和埠幫定到套接字上*/
if((bind(sockfd, (struct sockaddr*) &s_addr,sizeof(struct sockaddr))) == -1)else
printf("bind success!\n");
/*偵聽本地埠*/
if(listen(sockfd,listnum) == -1)else
printf("the server is listening!\n");
while(1)else
printf("正在與您聊天的客戶端是:%s: %d\n",inet_ntoa(c_addr.sin_addr),ntohs(c_addr.sin_port));
while(1)else if(retval == 0)else
len = send(newfd,buf,strlen(buf),0);
if(len > 0)
printf("\t訊息傳送成功:%s\n",buf);
else
} /*客戶端發來了訊息*/
if(fd_isset(newfd, &rfds))
} }
} /*關閉聊天的套接字*/
close(newfd);
/*是否退出伺服器*/
printf("伺服器是否退出程式:y->是;n->否? ");
bzero(buf, buflen);
fgets(buf,buflen, stdin);
if(!strncasecmp(buf,"y",1))
} /*關閉伺服器的套接字*/
close(sockfd);
return 0;
}
#include #include #include #include #include #include #include #include #include #include #define buflen 1024在程式的服務端輸入#define port 6666
int main(int argc, char **argv)
else
printf("socket create success!\n");
/*設定伺服器ip*/
memset(&s_addr,0,sizeof(s_addr));
s_addr.sin_family = af_inet;
s_addr.sin_port = htons(port);
if (inet_aton(argv[1], (struct in_addr *)&s_addr.sin_addr.s_addr) == 0)
/*開始連線伺服器*/
if(connect(sockfd,(struct sockaddr*)&s_addr,sizeof(struct sockaddr)) == -1)else
printf("conncet success!\n");
while(1)else if(retval == 0)else
}/*使用者輸入資訊了,開始處理資訊並傳送*/
if(fd_isset(0, &rfds))
len = send(sockfd,buf,strlen(buf),0);
if(len > 0)
printf("\t訊息傳送成功:%s\n",buf);
else }}
}/*關閉連線*/
close(sockfd);
return 0;
}
lwp@lwp-linux:~/desktop/1234$ ./server
在程式的客戶端輸入
lwp@lwp-linux:~/desktop/1234$ ./client 192.168.100.80
server端:
waiting...client端:waiting...
waiting...
nihal
訊息傳送成功:nihal
客戶端發來的資訊是:zhuzhu
hehe
訊息傳送成功:hehe
客戶端發來的資訊是:haha
客戶端退出了,聊天終止!
伺服器是否退出程式:y->是;n->否? y
server端退出。
waiting...waiting...
waiting...
伺服器發來的訊息是:nihal
zhuzhu
訊息傳送成功:zhuzhu
伺服器發來的訊息是:hehe
haha
訊息傳送成功:haha
C 乙個WCF簡單例項
以訂票為例簡單應用wcf程式,需要的朋友可以參考下 wcf例項 帶步驟 複製 如下 在iservice1.cs定義服務契約 複製 如下 namespace wcfdemo 使用下面示例中說明的資料約定將復合型別新增到服務操作。datacontract 資料契約 public class ticket...
乙個完整的c語言程式 簡單的例項
本例項要實現的功能是根據父母的身高 兒子的身高。本例項中定義乙個常量0.54,根據輸入父親和母親的身高,通過計算公式 兒子身高 父親身高 母親身高 x 0.54 出兒子的身高,具體 如下 include 包含標頭檔案 define heg 0.54 定義常量 float height float f...
02乙個簡單的c語言例項(hello world)
二 結構分析 三 增強程式可讀性 四 程式除錯 include intmain void 乙個簡單的c程式 一 內容分析 include 在c世界中,人們稱出現在檔案頂部的資訊集合為頭,c實現通常都帶有許多標頭檔案。標頭檔案可以定義常量,或者說明函式名以及該函式如何使用。但是函式的實際 被包含在乙個...