C++ μ•„λ‹ˆκ³  C둜 μ†ŒμΌ“ν†΅μ‹  μž‘μ„±ν•˜κΈ°!

μ†ŒμΌ“ν†΅μ‹  ν΄λΌμ΄μ–ΈνŠΈ μ½”λ“œ 짜기

문제 μ •μ˜

ν΄λΌμ΄μ–ΈνŠΈ μ—­ν• : write
μ›ν•˜λŠ” 메세지λ₯Ό write ν•΄λ³΄μž !!

μ½”λ“œ

// C++ TCP ν΄λΌμ΄μ–ΈνŠΈ ν”„λ‘œκ·Έλž¨
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>

void error_handling(const char *message)
{
  fputs(message, stderr);
  fputc('\n', stderr);
  exit(1);
}
int main(int argc, char* argv[])
{
  int sock = socket(PF_INET, SOCK_STREAM, 0);
  if(sock == -1)
      error_handling("socket() error");

  // ν΄λΌμ΄μ–ΈνŠΈμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ μ£Όμ†Œμ •λ³΄λ₯Ό μ΄ˆκΈ°ν™”
  struct sockaddr_in serv_addr;
  memset(&serv_addr, 0, sizeof(serv_addr));
  serv_addr.sin_family=AF_INET;
  serv_addr.sin_addr.s_addr=inet_addr("192.168.0.18");
  serv_addr.sin_port=htons(atoi("23000"));
  
  // μ„œλ²„μ˜ μ£Όμ†Œμ •λ³΄λ‘œ ν΄λΌμ΄μ–ΈνŠΈ μ†ŒμΌ“μ΄ μ—°κ²°μš”μ²­μ„ ν•œλ‹€.
  if(connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr))==-1) 
  {
    error_handling("connect() error!");
  }

  // Send a message
  char msg[] = "Hello world!";
  while (1)
  {
    write(sock, msg, sizeof(msg));
    printf("Send message to server: %s \n", msg);
    sleep(1);
  }

  close(sock);
  return 0;
}

Reference

Leave a comment