C語言實(shí)現(xiàn)簡單回聲服務(wù)器
更新時(shí)間:2022年03月02日 09:10:28 作者:reg183
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡單回聲服務(wù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)簡單的回聲服務(wù)器,供大家參考,具體內(nèi)容如下
新建echo_server.c
#include<stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <ctype.h>
#include <arpa/inet.h>
#define SERVER_PORT 666
int main(void){
? ? int sock;
? ? struct sockaddr_in server_addr;
? ? sock=socket(AF_INET,SOCK_STREAM,0);
? ? bzero(&server_addr,sizeof(server_addr));
? ? server_addr.sin_family=AF_INET;
? ? server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
? ? server_addr.sin_port=htons(SERVER_PORT);
? ? bind(sock,(struct sockaddr *)&server_addr,sizeof(server_addr));
? ? listen(sock,128);
? ? printf("等待客戶端的連接..\n");
? ? int done=1;
? ? while(done){
? ? ? ? struct sockaddr_in client;
? ? ? ? int client_sock;
? ? ? ? char client_ip[64];
? ? ? ? socklen_t client_addr_len;
? ? ? ? client_addr_len=sizeof(client);
? ? ? ? accept(sock,(struct sockaddr *)&client,&client_addr_len);
? ? ? ? printf("client ip:%s\n port :%d\n",
? ? ? ? ? ? ? ? inet_ntop(AF_INET,&client.sin_addr.s_addr,client_ip,sizeof(client_ip)),
? ? ? ? ? ? ? ? ntohs(client.sin_port));
? ? }
}打包生成可執(zhí)行文件
[root@localhost c++]# gcc echo_server.c ?-o echo_server.exe
啟動(dòng)服務(wù)器
[root@localhost c++]# ./echo_server.exe? 等待客戶端的連接..
telnet訪問
[root@localhost ~]# telnet 127.0.0.1 666 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.
服務(wù)器端打印
[root@localhost c++]# ./echo_server.exe? 等待客戶端的連接.. client ip:127.0.0.1 ?port :36156
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用Qt實(shí)現(xiàn)可擴(kuò)展對話框的示例代碼
可擴(kuò)展對話框通常用于用戶對界面有不同要求的場合。當(dāng)供高級(jí)用戶使用或需要更多信息時(shí),可通過某種方式的切換顯示完整對話窗體(擴(kuò)展窗體)。本文將用Qt實(shí)現(xiàn)可擴(kuò)展對話框,需要的可以參考一下2022-06-06
深入解讀C++ 內(nèi)聯(lián)函數(shù)inline|nullptr
內(nèi)聯(lián)函數(shù):用** inline 修飾的函數(shù)叫做內(nèi)聯(lián)函數(shù),編譯時(shí)C++編譯器會(huì)在調(diào)用的地方展開內(nèi)聯(lián)函數(shù)**,這樣調(diào)用內(nèi)聯(lián)函數(shù)就需要?jiǎng)?chuàng)建棧楨,就提高效率了,這篇文章給大家介紹C++ 內(nèi)聯(lián)函數(shù)inline|nullptr的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2024-07-07
C++程序的執(zhí)行順序結(jié)構(gòu)以及關(guān)系和邏輯運(yùn)算符講解
這篇文章主要介紹了C++程序的執(zhí)行順序結(jié)構(gòu)以及關(guān)系和邏輯運(yùn)算符講解,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09
C語言 數(shù)據(jù)結(jié)構(gòu)之鏈表實(shí)現(xiàn)代碼
這篇文章主要介紹了C語言 數(shù)據(jù)結(jié)構(gòu)之鏈表實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10

