linux socket聊天程序

原创 2012年03月22日 22:48:53

socket.h

#include<stdio.h>                                                                                   
#include<pthread.h>
#include<time.h>
#include<sys/select.h>
#include<signal.h>
#include<sys/un.h>
#include<unistd.h>
#include<sys/uio.h>
#include<errno.h>
#include<pthread.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<sys/time.h>
#include<netinet/in.h>
#include<sys/wait.h>
#include<stdlib.h>
#include<netdb.h>
#include<arpa/inet.h>

client.c

#include "socket.h"

int main()
{
        int c_socket;
        int c_accept;
        int c_read;
        int backlog = 10;
        char mes[512],buffer[512],clientname[20];
        int len_c=sizeof(struct sockaddr);
        struct sockaddr_in c_sock;
        bzero(mes, sizeof(mes));
                                               
        c_socket=socket(AF_INET,SOCK_STREAM,0);
        if(c_socket==-1)
        {  
                printf("socket");
        }

       c_sock.sin_family=AF_INET;
       c_sock.sin_port=htons(5000);
       c_sock.sin_addr.s_addr=inet_addr("127.0.0.1");

      if((connect(c_socket, (struct sockaddr*)& c_sock, len_c)) == -1)
      {
               printf("connect!");
      }

      while(fgets(mes, sizeof(mes), stdin) != NULL)
     {
           write(c_socket, mes, sizeof(mes));
           read(c_socket, buffer, sizeof(buffer));
           printf("%s",buffer);
           memset(buffer,512,0);
     }
}
 

server.c

#include "socket.h"

int main()
{
        int c_socket;
        int c_accept;
        int c_read;
        int backlog = 10;
        char mes[512],buffer[512],clientname[20];
        int len_c=sizeof(struct sockaddr);
        struct sockaddr_in c_sock;
        bzero(mes, sizeof(mes));
       
        c_socket=socket(AF_INET,SOCK_STREAM,0);
        if(c_socket==-1)
        {  
                printf("socket");
        }

        c_sock.sin_family=AF_INET;
        c_sock.sin_port=htons(5000);
        c_sock.sin_addr.s_addr=inet_addr("127.0.0.1");

        if((bind(c_socket, (struct sockaddr*)& c_sock, len_c)) == -1)
        {
                printf("bind!");
        }

        if((listen(c_socket, backlog)) == -1)
        {
                printf("listen");
        }

        for( ; ;)
        {
                if((c_accept = accept(c_socket, (struct sockaddr*)& c_sock, &len_c)) == -1)
                {
                        printf("accept");
                }

               
                while((c_read = read(c_accept, mes, sizeof(mes))) > 0)
                        write(c_accept, mes, c_read);

        }

}  

 

3步基于docker搭建gitlab-ce

cat deploy_gitlab.sh#1.拉取镜像 docker pull docker.io/gitlab/gitlab-ce #2.启动服务 docker run --name='gitla...
  • wxm6614
  • wxm6614
  • 2017年10月31日 20:12
  • 424

pptpd架设VPN遇到的问题

原来架设过VPN且没有遇到任何问题,不过这次运气就没那么好了,折腾了老半天才解决。 我遇到的问题是拨号出现619,pptpd日志输出以下内容: Mar 10 22:37:28 Cl...
  • bytxl
  • bytxl
  • 2015年04月24日 17:44
  • 1810

关于VPN的问题: LCP: timeout sending Config-Requests

解决方案:多半是有一方的GRE协议未开启,检查服务器防火墙设置。iptables -A INPUT -p gre -j ACCEPT iptables -A OUTPUT -p gre -j ACCE...
  • qq_24600087
  • qq_24600087
  • 2016年08月18日 08:26
  • 6624

reviewboard-腾讯企业邮箱邮件通知配置

使用的是2.5.16版本 reviewboardvim /usr/lib/python2.7/site-packages/django/core/mail/backends/smtp.py self....
  • wxm6614
  • wxm6614
  • 2017年11月02日 16:51
  • 1114

[C语言] 基于Linux的一对一Socket简易聊天程序实例

如题 此篇示例为Socket网络程序的基本范例,于LINUX环境下编译并运行通过 使用方法请参阅代码,代码不复杂 chatclient.c #include #include #i...
  • jordan5226
  • jordan5226
  • 2014年01月22日 20:11
  • 1796

非常简单的Socket聊天程序

新手一枚   不好别喷的太严重了 建立
  • a67474506
  • a67474506
  • 2014年07月15日 17:34
  • 2479

3步搭建微信小程序服务端环境笔记

本实践笔记基于nginx+uwsgi+django微信小程序提供的业务服务 1,配置nginx服务支持https协议2,在django项目根目录下创建wechatapp_wsgi_debug.ini...
  • wxm6614
  • wxm6614
  • 2017年02月19日 17:02
  • 2899

jenkins ftp推送文件

在D:\Jenkins\workspace\jenkins_demo下新建ftp_demo/log.txt 将log.txt上传到ftp://localhost:9999的c:\WR\build-版...
  • wxm6614
  • wxm6614
  • 2017年10月31日 17:39
  • 251

一个简易的聊天程序(Socket)

效果图: 服务端Server代码: using System; using System.Collections.Generic; using System.ComponentMo...
  • duoduoluojia
  • duoduoluojia
  • 2015年05月02日 12:30
  • 1768

使用C/C++实现Socket聊天程序

使用C/C++实现Socket聊天程序   Initsock.h文件   // initsock.h文件 #include winsock2.h> #include stdli...
  • qq1041256623
  • qq1041256623
  • 2013年10月28日 20:23
  • 3001
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux socket聊天程序
举报原因:
原因补充:

(最多只允许输入30个字)