利用Socket套接字通訊

2021-06-25 18:21:55 字數 1221 閱讀 6733

我只寫了服務端程式。服務端會了,客服端就好寫了。

我的伺服器功能是個小計算器。

server.c

/*socket:實現通訊。客服端輸入表示式經過伺服器計算出結果發給客服端 */

/*伺服器端建立任務:監聽客戶端,收到資料,發給服務端的子程序讓子程式,子程式呼叫execlp

bc命令計算出結果給父程序,父程序傳給伺服器。

*/#include #include #include #include #include #include #include char buf[1024];

int main(void)

else

fd = socket(af_inet, sock_stream, 0);

struct sockaddr_in s_addr,c_addr;

bzero(&s_addr, sizeof(s_addr));

s_addr.sin_family = af_inet;

s_addr.sin_addr.s_addr = htonl(inaddr_any);

// s_addr.sin_port = htons(serv_port);

s_addr.sin_port = htons(8000);

setsockopt(fd, sol_socket, so_reuseaddr,&opt, sizeof(opt));

bind(fd,(struct sockaddr *)&s_addr,sizeof(s_addr));

listen(fd, 20);

while(1)

return 0;

}

重定向分析:

開啟終端執行server。

再開啟乙個終端輸入;telnet localhost 8000

讓telnet充當客服端

結果如下:

bxd:telnet localhost 8000

trying 127.0.0.1...

connected to localhost.

escape character is '^]'.

3+47

connection closed by foreign host.

bxd:

計算出了結果:3+4 = 7;

socket 套接字通訊

要通過internet進行通訊,至少需要一對套接字,其中乙個執行在客戶端,稱之為clientsocket,另乙個執行於伺服器端面,稱為serversocket。根據連線啟動的方式以及本地要連線的目標,套接字之間的連線過程可以分為三個步驟 伺服器監聽 客戶端請求 連線確認。伺服器監聽是指服務端套接字並...

java通訊 套接字Socket

無論用什麼語言開發,socket都是繞不過去的乙個環節,若以簡單論,除了檔案操作,程序間通過socket通訊還是比較方便的。對於主機a和b,若a主機想向b主機傳送資訊,那麼基本步驟如下 1.首先確保b主機上socket服務端開啟,服務端會監聽本機上的乙個埠,例如8080。socket服務端會以阻塞形...

Socket實現套接字通訊

套接字工作流程 import socket 1 買手機 phone socket.socket 2 繫結手機卡 phone.bind 127.0.0.1 8080 3 開機 phone.listen 5 4 等 連線 conn,addr phone.accept 5 收發訊息 data conn.r...