#include <iostream>

#include  <netinet/in.h>

#include "string.h"

#include <cstdio>

#include <arpa/inet.h>

#include <cstdlib>


#include <unistd.h>

#define server_port 8083

using namespace std;

int main (){

int s;

int len;

char buffer [256];

struct sockaddr_in servAddr;

struct sockaddr_in clntaddr;

int clntAddrLen;

memset(&servAddr,0,sizeof(servAddr));

servAddr.sin_family=AF_INET;

servAddr.sin_port=htons(server_port);

servAddr.sin_addr.s_addr=inet_addr( "127.0.0.1");

//s=socket(PF_INET,SOCK_DGRAM,0);

//cout<<s<<'\n';

if((s=socket(PF_INET, SOCK_STREAM, 0)) ==-1 )

{

cout<<"case1"<<'\n';

perror("Error:socket failed!");

exit(1);


}

if(bind(s,(struct sockaddr*) &servAddr,sizeof(servAddr))<0)

{

cout<<"case2"<<'\n';

perror("Error:bind failed!");

exit(1);

}

int c=1;


while(true)


{

//cout<<"case3"<<'\n';

len=recvfrom (s,buffer,sizeof(buffer),0,(struct sockaddr*) &clntaddr,(socklen_t*) &clntAddrLen);

//cout<<"case4"<<'\n';

for(int i=0;i<=256;i++){

buffer[i]-=32;

}

sendto(s,buffer,len,0,(struct sockaddr*)&clntaddr,sizeof(clntaddr));

//sleep(3);




}

}


이게 서버고 

#include <iostream>

#include <unistd.h>  

#include  <netinet/in.h>

#include "string.h"

#include <cstdio>

#include <cstdlib>

#include <arpa/inet.h>

using namespace std;

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

{

int s;

int len;

char* servName;

int servPort;

char* string;

char buffer [256+1];

struct sockaddr_in servAddr;

cout<< argc<<'\n';

if(argc!=4){

cout<<"error: 3 arg are needed\n";

exit(1);

}

servName=argv[1];

servPort=atoi(argv[2]);

string=argv[3];

memset(&servAddr,0,sizeof(servAddr));

servAddr.sin_family=AF_INET;

inet_pton(AF_INET,servName,&servAddr.sin_addr);

servAddr.sin_port=htons(servPort);

servAddr.sin_addr.s_addr=inet_addr("127.0.0.1");

if(s=socket(PF_INET,SOCK_DGRAM,0)<0)

{

perror("error:socket failed");

exit(1);

}

len=sendto(s,string,strlen(string),0,(struct sockaddr*) &servAddr,sizeof(servAddr));

recvfrom(s,buffer,len,0,NULL,NULL);

buffer[len]='\0';

printf("echo string received:");

fputs(buffer,stdout);

cout<<'\n';

close(s);

exit(0);

}


이게 클라이언트인데



입력받은 문자열 대문자로 반환하는건데


서버도 아무것도 못받고 


클라이언트도 아무것도 못받음