client.c

#include <stdio.h>
#include <syspes.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <arpa/inet.h>

int main(int argc, char *argv[])
{
	int client_sockfd;
	int len;
	struct sockaddr_in remote_addr; //服务器端网络地址结构体
	char buf[BUFSIZ];  //数据传送的缓冲区
	memset(&remote_addr,0,sizeof(remote_addr)); //数据初始化--清零
	remote_addr.sin_family=AF_INET; //设置为IP通信
	remote_addr.sin_addr.s_addr=inet_addr("127.0.0.1");//服务器IP地址
	remote_addr.sin_port=htons(8000); //服务器端口号

	/*创建客户端套接字--IPv4协议,面向连接通信,TCP协议*/
	if((client_sockfd=socket(PF_INET,SOCK_STREAM,0))<0)
	{
	      perror("socket");
	      return 1;
	}

	/*将套接字绑定到服务器的网络地址上*/
	if(connect(client_sockfd,(struct sockaddr *)&remote_addr,sizeof(struct sockaddr))<0)
	{
	      perror("connect");
	      return 1;
	}
	printf("connected to server\n\n\n");
	len=recv(client_sockfd,buf,BUFSIZ,0);//接收服务器端信息
	printf("%s",buf); //打印服务器端信息

	/*循环的发送接收信息并打印接收信息--recv返回接收到的字节数,send返回发送的字节数*/
	while(1)
	{
		printf("\n\nEnter string to send:");
		scanf("%s",buf);
		if(!strcmp(buf,"quit"))  break;
		len=send(client_sockfd,buf,strlen(buf),0);
		len=recv(client_sockfd,buf,BUFSIZ,0);
		printf("\n\nreceived:%s\n\n\n\n",buf);
	}

	close(client_sockfd);//关闭套接字
        return 0;
}

  

时间: 2024-11-01 13:32:57

client.c的相关文章

adb server version (31) doesn’t match this client (36); killing… 的解决方法

今天折腾了一下Android studio,好不容易搞完了,结果在运行adb命令的时候出错了 不要着急,我们先看下这个错误是怎么出现的. 1.搞完Android studio之后也升级使用了新的sdk,并配置了环境变量 2.启动了第三方模拟器 3.之后用adb devices命令就出现了上图的错误 从报错的原因来看应该是版本不一致导致的,大概的意思是说你现在的adb版本是31,但是你client端的却是36(这里的client端我猜就是第三方的模拟器)不匹配啊. 尝试解决下,既然版本不一致,那就

swoole webSocket server or client example

server: $ws = new swoole_websocket_server('0.0.0.0', 9502); $ws->on('open', function ($ws, $request) {    var_dump($request->fd, $request->get, $request->server);    $ws->push($request->fd, "hello world\n");}); $ws->on('mess

elasticsearch java 客户端之Client简介

elasticsearch通过构造一个client体现对外提供了一套丰富的java调用接口.总体来说client分为两类cluster信息方面的client及数据(index)方面的client.这两个大类由可以分为普通操作和admin操作两类.以下是client的继承关系(1.5版本,其它版本可能不一样): 通过这个继承关系图可以很清楚的了解client的实现,及功能.总共有三类即client, indicesAdminClient和ClusterAdminClient.它都有自己的实现类,但

QDjango,tufao,C++ websocket client/server

QDjango, a Qt-based C++ web frameworkhttps://github.com/jlaine/qdjango/ An asynchronous web framework for C++ built on top of Qt http://vinipsmaker.github.io/tufao/https://github.com/vinipsmaker/tufao C++ websocket client/server library http://www.za

打开vsphere client提示Unable connect to MKS

问题描述:客户有3台服务器,突然发现用户的vsphere client打开虚拟机控制台的时候,提示Unable connect to MKS:Failed to connect to server IP地址:902 解决方法:通过测试发现,有一台是没问题的,另外两台无法均报错,通过对比发现,出现问题的两台服务器网关地址填写错误导致的,把网关地址修改为正确的,发现问题得到解决.

简单的Client / Server 使用 linux 伯克利 socket实现 编辑

server /* *run command: * g++ server.cpp -o server && ./server */ #ifndef SERVER #define SERVER #include<arpa/inet.h> #include<assert.h> #include<stdio.h> #include<stdlib.h> #include<pthread.h> #include<errno.h>

Install Softether vpn client on CentOS 6.5, using Radius authentication

to disable ipv6method 1:vi /etc/grub.confadd ipv6.disable=1 to kernel line, and reboot method 2:echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.confsysctl -p 1. disable selinux and iptables service iptables stop chkconfig iptables

Oracle Client 与PLSQL Developer的配置

在对oracle数据库进行管理或者在开发活动中常常会使用PLSQL Developer工具来管理我们的数据库,当然,要让我们在PLSQL Developer上的操作在远程数据库系统中生效,我们首先需要安装oracle的客户端. 准备: 1,Oracle Database Instant Client http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 2,PLSQL Develo

ROS学习笔记_编写客户端和服务器(service and client)_C++(五)

注意要区分service.client和publisher.subscriber这两组概念的区别. 先占坑... 参考链接:Writing a Simple Service and Client (C++)

Myeclipse配置Mybatis_generator生成mapper,model,client

在使用mybatis对接数据的时候,手动写mapper,model,client会比较费时间,可以试用mybatis_gererator来生成难度比较大的mybatis配置文件. 先要用myeclipse创建java工程. 将mysql-connector-java-5.1.18.jar放到指定的目录项目,并且配置generatorConfig.xml. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTY