LINUX同步聊天小程式

2021-06-08 06:52:42 字數 2518 閱讀 9810

/************************************== *

*檔名:

tcp_client.c *

*檔案描述:

tcp迴圈伺服器客戶端 *

*xue,

2012、07

、26 *

************************************=*/

#include

#include

#include

#include

#include

#include

#include

#include

#define buffer 1024

#define port 7777

int main(int argc, char *argv)

bzero(&server_addr, sizeof (server_addr));

server_addr.sin_family= af_inet;

server_addr.sin_port= htons (port);

server_addr.sin_addr.s_addr= htonl (inaddr_any);

rel =connect (client_sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));

if(rel < 0)

printf("wait for the server send someting to client\n");

while(1)

memset(buffer, 0, sizeof (buffer));

printf("please input someting send to the server!\nclient:");

fgets(buffer, buffer, stdin);

if(!(strncmp (buffer, "quit", 4)))

n = send (client_sockfd, buffer, strlen (buffer), 0);

if(n > 0)

}close(client_sockfd);

return 0; }

/************************************== *

*檔名:

tcp_server.c *

*檔案描述:

tcp迴圈伺服器伺服器端 *

*xue,

2012、07

、26 *

************************************=*/

#include

#include

#include

#include

#include

#include

#include

#include

#define buffer 1024

#define port 7777

int main(int argc, char *argv)

bzero(&server_addr, sizeof (server_addr));

server_addr.sin_family= af_inet;

server_addr.sin_port= htons (port);

server_addr.sin_addr.s_addr= htonl (inaddr_any);

rel = bind (server_sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));

if(rel < 0)

rel =listen (server_sockfd, 5);

if(rel < 0)

memset(buffer, 0, buffer);

while(1)

while(1)

n =send(client_sockfd, buffer, strlen(buffer), 0);

if(n > 0)

else

n =recv (client_sockfd, buffer, buffer, 0);

if(n > 0)

else

} close(client_sockfd); }

close(server_sockfd);

return0; }

首先,編譯後,先執行伺服器

server

[root@localhostlianxi]# ./server

waitthe new client to connection!

再執行客戶端

[root@localhostlianxi]# ./client

waitfor the server send someting to client

接著就可以實現同步通訊了。

Socket 聊天小程式

伺服器端 server.c include include include include include include include in.h include include include define buflen 1024 define port 6666 define listnum ...

基於Linux的聊天小程式,前期總結

到目前為止,小小專案大改了兩次。第一次實現了點對點的聊天,使用tcp套接字實現。第二次在第一次的基礎上實現了多執行緒處理聊天事件,通過執行緒同步實現。我把部分核心 貼出來,供大家交流。總 量上千,全部貼出來不方便。客戶端和服務端都只分享主函式和執行緒函式。server void recvandsen...

Python實現聊天小程式

import socket import sys host port 10001 server socket socket.socket socket.af inet,socket.sock stream server socket.setsockopt socket.sol socket,sock...