إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

UPD chat program, simple sources

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • UPD chat program, simple sources

    using a udp protocol and datagrams services
    here you are HollyShit chat program
    client
    كود PHP:
    #include<stdio.h>
    #include<unistd.h>
    #include<string.h>
    #include<stdlib.h>
    #include<errno.h>
    #include<netinet/in.h>
    #include<sys/types.h>
    #include<sys/socket.h>
    #include<arpa/inet.h>
    #define BUF 100
    int main(int argc char *argv[])
    {
    int sockfd;
    int len;
    socklen_t len2;
    int z;
    struct sockaddr_in my_addr;
    struct sockaddr_in his_addr;
    char lbuf[BUF];
    char sbuf[BUF];
    if(
    argc )
    {
    printf("[!]Usage %s ip port\n",argv[0]);
    _exit(0);
    }
    printf("HollySHit Chating\n"
    "Programming-Fr34ks[Dot]Net\n"
    "Author : St0rM-MaN\n"
    );
    printf("[+]Creating Socket\n");
    sockfd socket(PF_INET SOCK_DGRAM 0);
    if(
    sockfd 0)
    {
    perror("[!]Socket()");
    _exit(1);
    }
    memset(&my_addr sizeof(my_addr));
    memset(&his_addr sizeof(his_addr));
    printf("[+]Forming Address\n");
    my_addr.sin_family AF_INET;
    my_addr.sin_port htons(atoi(argv[2]);
    my_addr.sin_addr.s_addr INADDR_ANY;
    his_addr.sin_family AF_INET;
    his_addr.sin_port atoi(argv[2]);
    his_addr.sin_addr.s_addr inet_addr(argv[1]);
    len2 sizeof(his_addr);
    len sizeof(my_addr);
    printf("[+]Binding Socket\n");
    bind(sockfd , (struct sockaddr*)&my_addr len);
    if(
    0)
    {
    perror("[!]Bind");
    _exit(1);
    }
    while(
    1)
    {
    printf("Enter Your String\n");
    fgets(sbuf BUF stdin);
    zstrlen(sbuf);
    sbuf[--z] = '\x0';
    sendto(sockfd sbuf ,
    (
    struct sockaddr*)&his_addrlen2);
    if(
    0)
    {
    perror("[!]Sendto()");
    _exit(1);
    }
    printf("Msg Sent To %s:%u\n",inet_ntoa(his_addr.sin_addr)
    ,
    ntohs(his_addr.sin_port));
    recvfrom(sockfd lbuf BUF ,
    (
    struct sockaddr*)&his_addr , &len2);
    if(
    0)
    {
    perror("[!]RecvFrom");
    _exit(1);
    }
    lbuf[z] = '\x0';
    printf("<%s:%u> says: %s\n",inet_ntoa(his_addr.sin_addr) ,
    ntohs(his_addr.sin_port),lbuf);
    }
    return 
    0;

    server
    كود PHP:
    #include<stdio.h>
    #include<unistd.h>
    #include<string.h>
    #include<stdlib.h>
    #include<netinet/in.h>
    #include<arpa/inet.h>
    #include<sys/types.h>
    #include<sys/socket.h>
    #include<errno.h>
    #define MSGSIZ  1024
    #define ERROR(X) perror(X);
    int check(const char *string)
    {
    if(
    strstr(string "QUIT") != NULL)
    {
    return 
    0;
    }
    return 
    1;
    }
    int main(int argc char *argv[])
    {
    int sockfd/*socket file descriptor*/
    int z/*function statues*/
    int socklen;
    int PORT;
    socklen_t him_len/*remore length*/
    struct sockaddr_in i/*local address*/
    struct sockaddr_in him/*remote address*/
    char lmsg[MSGSIZ];
    char smsg[MSGSIZ];
    char *quit "Bye Bye\n";
    char *remote_addr;
    if(
    argc 2)
    {
    printf("[Usage..] <%s> portno\n",argv[0]);
    _exit(1);
    }
    printf("HollySHit Chating\n"
    "Programming-Fr34ks[Dot]Net\n"
    "Author : St0rM-MaN\n"
    );
    i.sin_family AF_INET;
    i.sin_port htonsatoi(argv[1]););
    i.sin_addr.s_addr INADDR_ANY/*automaticaly pick local address (machine's)*/
    socklen sizeof(i);            /*structure len*/
    /*create a socket*/
    printf("[+]Creating Socket\n");
    sockfd socket(PF_INET SOCK_DGRAM 0);
    if(
    sockfd 0)
    ERROR("socket()");
    printf("[+]Binding Socket\n");
    bind(sockfd , (struct sockaddr*)&socklen); /*bind socket to our local address*/
    if(0)
    ERROR("bind()");
    printf("[+]Local Connection %s:%u\n",inet_ntoa(i.sin_addr) , ntohs(i.sin_port));
    printf("[+]Waiting For Messages\n");
    printf("-------------------------------------------------\n");
    while(
    1)
    {
    him_len sizeof(him);
    z  recvfrom(sockfdlmsg MSGSIZ , (struct sockaddr*)&him , &him_len );
    if(
    0)
    ERROR("recvfrom()");
    lmsg[z] = '\x0';
    check(lmsg);
    if(
    == 0)
    {
    shutdown(sockfd SHUT_RD);
    sendto(sockfd quit strlen(quit) , , (struct sockaddr*)&him him_len);
    if(
    0)
    ERROR("sendto()");
    }
    remote_addr inet_ntoa(him.sin_addr);
    printf("<%s> sys %s\n",remote_addr lmsg);
    printf("your replay:");
    fgets(smsg MSGSIZ stdin);
    zstrlen(smsg);
    smsg[--z]='\x0';
    sendto(sockfd smsg , (struct sockaddr*)&him him_len);
    if(
    0)
    ERROR("sendto()");
    }
    return 
    0;

    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  • #2
    ال indentation بتاعتي سليمه :S انتوا الي ال code tags خربانه عندك
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

    تعليق


    • #3
      جميل ياحبى واصل ..
      بس كل دى Included libs مش فى احلى من
      كود:
      import socket
      :P
      Programming-Fr34ks[dot]NET
      Ma Weblog
      ابدأ بتعلم Python | Ruby
      كتاب البايثون متوافر الآن
      لا اتواجد بهذا المنتدى ... للإتصال

      تعليق


      • #4
        include libs
        هع ^4..
        انا كل الحوار في الكود اني بعمل error checks علي طول
        BOOOF , I AM GONE
        Still , you gotta wait for my PRESENT :D
        C programming arabic Tutorial|Programming-fr34ks

        تعليق

        يعمل...
        X