⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 talker.c.txt

📁 这是一款很通用的linux下的UDP通讯编程。适合于嵌入式linux平台不可靠网络通讯的开发等相关研究。
💻 TXT
字号:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<errno.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>

#define MYPORT 4950 //the port users will be connecting to 
int main(int argc,char *argv[]){
  int sockfd;
  struct sockaddr_in their_addr;//connector's address information 
  struct hostent *he;
  int numbytes;
  char send_buf[256];
  /*parameters check */
  if(argc!=2){
  fprintf(stderr,"usage:talker hostname\n");
  exit(1);
  }
  /*argv[1]=server ip address*/
  if((he=gethostbyname(argv[1]))==NULL){//get the host info
    perror("gethostbyname");
    exit(1);
    }
/*setup socket*/
if((sockfd=socket(AF_INET,SOCK_DGRAM,0))==-1){
    perror("socket");
    exit(1);
    }
/*receive string from console and send it to the server*/
while(1){
  char*ptr;
  their_addr.sin_family=AF_INET;//host byte order
  their_addr.sin_port=htons(MYPORT);//short,network byte order
  their_addr.sin_addr=*((struct in_addr*)he->h_addr);
  memset(&(their_addr.sin_zero),'\0',8);//zero the rest of the struct
  /*get string from console*/
 printf("send to server:");
ptr=send_buf;
do
{
*ptr=getchar();
ptr++;
}while(*ptr-1)!='\n');
*ptr=0;
/*send the string to server*/
if((munbytes=sendto(sockfd,send_buf,strlen(send_buf),0,(sturct    sockaddr*)&their_addr,sizeof(struct sockaddr)))==-1){
  perror("sendto");
  exit(1);
  }
}
close(sockfd);
return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -