30 Ocak 2012 Pazartesi

C - TCP Client


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

///-----------------------------------
/// Main function: Program entry point
///
int main(int argc, char* argv[]){
int clientSock; // Client socket
char destIP[100];

// 1. Create a socket
clientSock = socket(AF_INET, // Address family
SOCK_STREAM, // Socket type
IPPROTO_TCP); // Protocol
if (clientSock < 0){
printf("Unable to create the socket\n");
return 0;
} //end-if

printf("Enter TCP server's IP address: ");
gets(destIP);

// Initialize server's IP + port and connect to the server
struct sockaddr_in serverAddr;
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = inet_addr(destIP);
serverAddr.sin_port = htons(20000); // Port: 20000

// Connect to the server
if (connect(clientSock, (struct sockaddr *)&serverAddr, sizeof(serverAddr)) < 0){
perror("connect");
close(clientSock);
return -1;

} else
printf("Connected to the server...\n");

while (1){
char buffer[100000];
int msgSize;
int ret;

memset(buffer, 'A', 100000);
printf("Enter MsgSize [-1 to quit]>>");
scanf("%d", &msgSize);
if (msgSize > 100000) msgSize = 100000;
if (msgSize < 0) break;

ret = send(clientSock, buffer, msgSize, 0);
if (ret < 0) printf("send failed. Connection closed!\n");
} //end-while

close(clientSock);
return 0;
} //end-main

Hiç yorum yok:

Yorum Gönder