socket客户端小例

#include <math.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <sys/types.h>
int main() {

    struct sockaddr_in addr;
    addr.sin_addr.s_addr = inet_addr("127.0.0.1");
    addr.sin_port = htons(5000);
    addr.sin_family = AF_INET;
    bzero(&(addr.sin_zero),8);

    int socketHandl = socket(AF_INET, SOCK_STREAM, 0);

    int ret = connect(socketHandl, (struct sockaddr *)&addr, sizeof(addr));
    if(ret == -1){
        printf("connect error!!");
    }else{
        const char *msg = "hello world!";
        send(socketHandl, msg, strlen(msg), 0);
    }

    close(socketHandl);
    printf("%s\n", inet_ntoa(addr.sin_addr));
    printf("%u\n", htons(5000));

    return 0;
}

以上代码连结本机的5000端口,并且发送hello world!的字符给服务端

时间: 2024-10-13 00:28:41

socket客户端小例的相关文章

socket 大端 小端 转换 (转)《二》

socket 大端 小端 转换 (转)<二> http://blog.csdn.net/kukumouse/article/details/2270356 (1)对于位域结构中的变量来说,其长度不能跨越字节,也就是说不能超过8位.当然如果设置空白位(无名变量,仅仅用作占位的)是没有这个限制的.如果一个字节剩下的位长度不够一个位域,那么从下个字节开始,也可有意置某个位域从下个字节开始.例如: struct bits4_5 {  //一个从到小的存放顺序结构体 unsigned : 10;  //

C++传智笔记(6):socket客户端发送报文接受报文的api接口

#define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "stdlib.h" #include "string.h" #include "itcast_comm.h" #include "memwatch.h" #include "itcastlog.h" /* 下面定义了一套socket客户端发送报文接受报文的api接口

基于CMPP2.0的Socket客户端(Java)

短信验证码,短信通知等功能均可通过此Socket客户端实现. 注意事项如下: 1.服务器端是按字节依次读取的,所以客户端发送的字节包中的字段要严格按照CMPP协议中的顺序,而且每个字段都要有. 2.每个字段的实际长度不足时,用0补齐:电话号码后用空格补齐 3.使用ByteBuffer时,要注意putInt()和put()的区别 我亲身实践出来的模板如下,供大家参考学习: public class Login { public static int pktLen; public static in

c++ socket 客户端库 socks5 客户端 RudeSocket? Open Source C++ Socket Library

介绍 一个c++ socket 客户端库 http://www.rudeserver.com/socket/index.html The RudeSocket™ Open Source C++ Socket Library provides a simple to use interface for creating and using client sockets. You can connect to the destination server through an unlimited n

socket 客户端

socket 客户端 的一些想法 -----------------包头-------------------------- 4byte 4byte 2byte 2byte 数据长 数据长  约定数字  0 ------------------------------------------------ 1.登录 2.每隔15秒发送心跳包 3.死循环接收数据,把收到的byte[]塞到List<byte>(队列,先进先出)(生产者) 4.List<byte> 要有同步锁 5.死循环读

新版API WordCount 小例 及如何导入jar包

WordCount: 简单解析wordcount小例子的代码,对应于新版的API进行处理. import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.examples.WordCount.TokenizerMapper; import org.apache.hadoop.fs.Path; im

使用libcurl下载文件小例

libcurl是一个很强大的开源网络处理库,支持包括HTTP.HTTPS.FTP--一系列网络协议.用它来进行HTTP的get\post 或者下载文件更是小菜一碟,chrome内核都用到了它,本文主要讲解一个使用curl下载文件的小例. 首先是去下载curl的最新源代码,然后编译成动态库或者静态库:然后把头文件和库文件拿出来加入到我们自己的工程中,引用声明: #include "curl.h" #ifdef _DEBUG #pragma comment(lib, "../De

分享一个Duilib配置的下载器小例

使用DuiLib开发Windows界面实在是太简单了,对于MFC程序员真的是脱离苦海,控件自绘什么的GDI\GDI+真要把人搞死.DuiLib是国内一个非常有名的开源界面库,目前很多软件都是用了它(百度卫士.杀毒.PPS--),感谢开源的前辈们. 扩展列表控件的滚动消息,加上一个定时器,让他可以自动滚动一段再停下来. void CDownloadListUI::DoEvent( TEventUI& event ) { if( !IsMouseEnabled() && event.T

dwr框架异步调用简单小例

DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架.可以轻松实现用js直接调用java方法. 通过一个小例子来演示一个dwr的基本使用: ①. 首先肯定要创建一个web project的,然后拷贝dwr.jar到WEB-INF\lib目录下 ②. 修改web.xml文件,添加dwr servlet配置 <servlet> <servlet-name>dwr-invoker</servlet-name>