📄 client.c
字号:
/*
*
* client.c
* CopyRight cEnZmin cEnZmin@126.com
*
*
* use tcp test ethernet
*/
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
char *host_name = "192.168.1.141";
int port = 8308;
int main(int argc, char *argv[])
{
char buf[8192];
char message[256];
int socket_descriptor;
struct sockaddr_in pin;
struct hostent *server_host_name;
int n;
char *str = "A default test string";
if(argc < 2)
{
printf("Usage:'test \"Any test string\"\n");
printf("Wd will send a default test string.\n");
}
else
{
str = argv[1];
}
if((server_host_name = gethostbyname(host_name)) == 0)
{
perror("Error resolving local host.\n");
exit(1);
}
bzero(&pin, sizeof(pin));
pin.sin_family = AF_INET;
pin.sin_addr.s_addr = htonl(INADDR_ANY);
// pin.sin_addr.s_addr = ((struct sockaddr *)(server_host_name->h_addr))->s_addr;
memcpy(&pin.sin_addr, server_host_name->h_addr, server_host_name->h_length);
pin.sin_port = htons(port);
if((socket_descriptor = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("Error open socket.\n");
exit(1);
}
if(connect(socket_descriptor, (void *)&pin, sizeof(pin)) == -1)
{
perror("Error connecting to socket.\n");
exit(1);
}
printf("Send message %s to server...\n", str);
if(send(socket_descriptor, str, strlen(str), 0) == -1)
{
perror("Error in send.\n");
exit(1);
}
printf("...sent message.. wait for response...\n");
if(recv(socket_descriptor, buf, 8129, 0) == -1)
{
perror("Error in receiving response from server\n");
exit(1);
}
printf("\nResponse from server:\n\n%s\n", buf);
close(socket_descriptor);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -