皮皮网

【源码1002源码】【网页自动拍照源码】【源码补码反码图片】c 聊天室源码_聊天室程序源码

时间:2024-12-26 15:13:17 来源:在线答题源码

1.如何用C语言编写一个简单的聊天室程序

c 聊天室源码_聊天室程序源码

如何用C语言编写一个简单的聊天室程序

       è¿™æ ·ï¼š

       #include <stdlib.h>

       #include <stdio.h>

       #include <errno.h>

       #include <string.h>

       #include <unistd.h>

       #include <netdb.h>

       #include <sys/socket.h>

       #include <netinet/in.h>

       #include <sys/types.h>

       #include <arpa/inet.h>

       #include <pthread.h>

        

       #define MAXLINE ;

       void *threadsend(void *vargp);

       void *threadrecv(void *vargp); 

       int main()

       {  

       int *clientfdp;

       clientfdp = (int *)malloc(sizeof(int));

       *clientfdp = socket(AF_INET,聊聊天源码1002源码SOCK_STREAM,0);

       struct sockaddr_in serveraddr;

       struct hostent *hp;

       bzero((char *)&serveraddr,sizeof(serveraddr));

       serveraddr.sin_family = AF_INET;

       serveraddr.sin_port = htons();

       serveraddr.sin_addr.s_addr = inet_addr(".0.0.1");

       if(connect(*clientfdp,(struct sockaddr *)&serveraddr,sizeof(serveraddr)) < 0){

               printf("connect error\n");

               exit(1);

       }

       pthread_t tid1,tid2;

       printf("connected\n");

       while(1){

       pthread_create(&tid1,NULL,threadsend,clientfdp);

       pthread_create(&tid2,NULL,threadrecv,clientfdp);

       }

       return EXIT_SUCCESS;

       }

       void *threadsend(void * vargp)

       {

       //pthread_t tid2;

       int connfd = *((int *)vargp);

       int idata;

       char temp[];

       while(1){

       //printf("me: \n ");

       fgets(temp,,stdin);

       send(connfd,temp,,0);

       printf("          client send OK\n");

       }

       printf("client send\n");

       return NULL;

       }

       void *threadrecv(void *vargp)

       {

       char temp[];

       int connfd = *((int *)vargp);

       while(1){

       int idata = 0;

       idata = recv(connfd,temp,,0);

       if(idata > 0){

       printf("server :\n%s\n",temp);

       }

       }

       return NULL;

       }

扩展资料:

       æ³¨æ„äº‹é¡¹

       linux下编译多线程代码时,shell提示找不到 pthread_create函数,原因是 pthread.h不是linux系统默认加载的库文件,应该使用类似如下gcc命令进行编译:

       gcc echoserver.c -lpthread -o echoserver

       åªè¦æ³¨æ„ -lpthread参数就可以了。

推荐资讯
instagram 源码

instagram 源码

扎金花源码_扎金花程序

扎金花源码_扎金花程序

bbi指标公式源码_bbi指标公式代码

bbi指标公式源码_bbi指标公式代码

82源码

82源码

keepalived源码

keepalived源码

扎金花源码_扎金花程序

扎金花源码_扎金花程序

copyright © 2016 powered by 皮皮网   sitemap