資源簡介
利用select函數在linux環境下實現的一個聊天程序,滿足要求: (1)用戶默認出于廣播模式,一個客戶在其客戶端發送消息,其他客戶端用戶全部都可以收到; (2)程序支持下列命令 /help:顯示幫助信息 /quit:用戶退出聊天室,同時將退出信息廣播給其他用戶; /who:顯示在線用戶; /send 戶名 消息:向指定用戶發送點到點消息。 代碼驗證通過,保證能運行
代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#define?CLIENTPORT?1234
#define?BUFSIZE?2048
int?main(int?argc?char?*argv[])
{
int?sockfd;
fd_set?sockset;
struct?sockaddr_in?serveraddr;
struct?sockaddr_in?clientaddr;
int?recvbytes;
char?recv_buf[BUFSIZE];
char?send_buf[BUFSIZE];
int?data_len;
if?(2?>?argc)
{
printf(“Please?input?the?server?ip!\n“);
exit(1);
}
if?(-1?==?(sockfd?=?socket(AF_INET?SOCK_STREAM?0?)))
{
printf(“create?the?socket?error!\n“);
perror(“create?errors?are?:“);
exit(1);
}
memset(&serveraddr?0?sizeof(struct?sockaddr_in));
serveraddr.sin_family?=?AF_INET;
serveraddr.sin_addr.s_addr?=?inet_addr(argv[1]);
serveraddr.sin_p
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2447??2009-11-04?21:53??chat\IOClient.c
?????文件???????6226??2009-11-09?16:10??chat\IOServer.c
?????目錄??????????0??2009-11-23?16:23??chat
-----------?---------??----------?-----??----
?????????????????8673????????????????????3
評論
共有 條評論