伺服器端** server.c
#include #include客戶端** client.c :#include
#include
#include
#include
#include
in.h>#include
#include
#include
#define buflen 1024
#define port 6666
#define listnum 20
intmain()
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);
return0;
}
#include #include伺服器端截圖:#include
#include
#include
#include
#include
in.h>#include
#include
#include
#define buflen 1024
#define port 6666
int main(int argc, char **ar**)
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(ar**[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);
return0;
}
客戶端截圖:
非同步Socket寫聊天程式
socket 網路應用程式如同一般檔案 i o一樣在資料訪問未完成的時候,整個應用程式會停滯,直到網路操作完全成功為止。若是遇上不佳的網路環境,這種情形將會嚴重影響整個網路程式的運作。對於網路延遲,net 提供了自己的一組解決方法,非同步操作。socket 類提供的方法成員中包含一組專門用來進行非同...
簡單的socket聊天程式
伺服器 include include include include include include include include define port 18888 埠 define buflen 1024 快取區大小 define listennum 20 socket最大監聽數 int m...
socket程式設計之點對點聊天程式
p2psrv.c include include include include include include 解決父程序退出,子程序不退出 include include include include define err exit m do while 0 void handler int ...