tcp client in c

原创 2005年05月26日 15:44:00

/* fpont 12/99 */
/* pont.net    */
/* tcpClient.c */

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h> /* close */

#define SERVER_PORT 1500
#define MAX_MSG 100

int main (int argc, char *argv[]) {

  int sd, rc, i;
  struct sockaddr_in localAddr, servAddr;
  struct hostent *h;
 
  if(argc < 3) {
    printf("usage: %s <server> <data1> <data2> ... <dataN>/n",argv[0]);
    exit(1);
  }

  h = gethostbyname(argv[1]);
  if(h==NULL) {
    printf("%s: unknown host '%s'/n",argv[0],argv[1]);
    exit(1);
  }

  servAddr.sin_family = h->h_addrtype;
  memcpy((char *) &servAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length);
  servAddr.sin_port = htons(SERVER_PORT);

  /* create socket */
  sd = socket(AF_INET, SOCK_STREAM, 0);
  if(sd<0) {
    perror("cannot open socket ");
    exit(1);
  }

  /* bind any port number */
  localAddr.sin_family = AF_INET;
  localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
  localAddr.sin_port = htons(0);
 
  rc = bind(sd, (struct sockaddr *) &localAddr, sizeof(localAddr));
  if(rc<0) {
    printf("%s: cannot bind port TCP %u/n",argv[0],SERVER_PORT);
    perror("error ");
    exit(1);
  }
    
  /* connect to server */
  rc = connect(sd, (struct sockaddr *) &servAddr, sizeof(servAddr));
  if(rc<0) {
    perror("cannot connect ");
    exit(1);
  }

  for(i=2;i<argc;i++) {
   
    rc = send(sd, argv[i], strlen(argv[i]) + 1, 0);
   
    if(rc<0) {
      perror("cannot send data ");
      close(sd);
      exit(1);
   
    }

    printf("%s: data%u sent (%s)/n",argv[0],i-1,argv[i]);

  
  }

return 0;
 
}

Client-Server C程序示例C (使用 Sockets 和 TCP)

本文来自:www.programminglogic.com/example-of-client-server-program-in-c-using-sockets-and-tcp/ 下面你将看到一个...
  • robertsong2004
  • robertsong2004
  • 2016年08月30日 15:55
  • 1680

linux下TCP连接的client和server

linux下TCP连接的client和server http://blog.163.com/caipeipei_love@126/blog/static/25966032201011...
  • linuxheik
  • linuxheik
  • 2014年02月17日 10:04
  • 4466

3个学习Socket编程的简单例子:TCP Server/Client, Select

      以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序。如果你能完全理解这3...
  • zhenjing
  • zhenjing
  • 2009年11月05日 10:24
  • 14907

Scoket 多线程范例 TCP UDP Server Client

来源:VC驿站 /**********核心使用**********/ SOCKET m_Socket; /**********TCP Server 接收线程**********/ static ...
  • u011430225
  • u011430225
  • 2016年06月01日 13:55
  • 1364

client 和 server 通讯实例(TCP协议使用 select 函数)

client 和 server 通讯实例(使用 select 函数) 服务器端代码(Linux系统): /****** server.c for Linux ******/ #include ...
  • iw1210
  • iw1210
  • 2013年09月18日 17:01
  • 1850

nio client和netty server实例

花了一周时间,研究了java里面的nio和netty,其实nio很好理解,用过c语言的,都应该知道select和epoll,nio和select和epoll非常类似,使用方法和解决的问题也都是一样的。...
  • beginning1126
  • beginning1126
  • 2015年05月09日 16:01
  • 9324

Linux C TCP Programming example

//server.c #include #include #include #include #include #include #include void error(const ...
  • adream307
  • adream307
  • 2016年02月09日 15:25
  • 297

简单的TCP连接Server和Client

.Net2.0实现的TCP连接Server和Client
  • ynnmnm
  • ynnmnm
  • 2014年05月18日 03:08
  • 8721

ESP8266--学习笔记(四)TCP通信--TCP-Client

TCP Client模式 ESP8266工作在station模式下,需确认ESP8266已经连接AP(路由器)并分配到IP地址,启用client连接 ESP8266工作在soft-AP模式下,需确认连...
  • qq_28877125
  • qq_28877125
  • 2017年03月17日 20:59
  • 4870

Qt tcp client程序

用Qt写了个简单的Tcp客户端程序,
  • tujiaw
  • tujiaw
  • 2014年04月19日 22:15
  • 4966
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tcp client in c
举报原因:
原因补充:

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