【高分】linux 下通过目前服务器端写客户端c语言程序

来源:百度知道 编辑:UC知道 时间:2024/06/01 21:59:45
#include <sys/types.h>

#include <sys/socket.h>

#include <stdio.h>

#include <netinet/in.h>

#include <signal.h>

#include <unistd.h>

int main()

{

int server_sockfd, client_sockfd;

int server_len, client_len;

struct sockaddr_in server_address;

struct sockaddr_in client_address;

server_sockfd = socket(AF_INET, SOCK_STREAM, 0);

server_address.sin_family = AF_INET;

server_address.sin_addr.s_addr = htonl(INADDR_ANY);

server_address.sin_port = htons(9734);

server_len = sizeof(server_address);

bind(server_sockfd, (struct sockaddr *)&server_address, server_len);

listen(server_sockfd, 5);

signal(SIGCHLD, SIG_IGN);

while(1)

{

char ch;

printf("server waiting\n");

代码写给你了啊,我验证过了的,不过你的服务端都没打印语句啊,我自己加上去了,可以收到客户端发的消息,服务端的打印语句你自己加吧
#include <stdio.h>

#include <stdlib.h>

#include <errno.h>

#include <string.h>

#include <netdb.h>

#include <sys/types.h>

#include <netinet/in.h>

#include <sys/socket.h>

#define SERVPORT 9734

#define MAXDATASIZE 100

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

int sockfd,sendbytes;

char buf[MAXDATASIZE];

struct hostent *host;

struct sockaddr_in serv_addr;

if(argc < 2){

fprintf(stderr,"Please enter the server's hostname!\n");

exit(1);

}

if((host=gethostbyname(argv[1]))==NULL){

perror("gethostbyname");

exit(1);

}

if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){

perror("socket