- 浏览: 52332 次
- 性别:
- 来自: 广州
最新评论
gen_tcp:connect(Host,Port,[Options]),gen_tcp:send(Socket, Request)。用这个两个函数从服务器获取数据
代码如下:tcp_client.erl
编译和运行:
代码如下:tcp_client.erl
-module(tcp_client). -export([get_url/0]). get_url() -> get_url("www.baidu.com"). get_url(Host) -> {ok, Socket} = gen_tcp:connect(Host, 80, [binary, {packet, 0}]), ok = gen_tcp:send(Socket, "GET / HTTP/1.0\r\n\r\n"), receive_data(Socket, []). receive_data(Socket, SoFar) -> receive {tcp, Socket, Bin} -> receive_data(Socket, [Bin|SoFar]); {tcp_closed, Socket} -> list_to_binary(lists:reverse(SoFar)); R -> io_lib:format("error msg receive ~s",[R]) end.
编译和运行:
erlc tcp_client.erl erl B = tcp_client:get_url(), io:format("~p~n",[B]). string:tokens(binary_to_list(B), "\r\n").
发表评论
-
erlang-Astart算法
2018-07-02 08:34 494%%%-------------------------- ... -
erlang--常用内建函数收录
2016-07-15 15:43 5551:gen_event:which_handlers(Even ... -
erlang异常--try...catch
2016-07-13 19:48 957触发异常 throw(Term) exit(Reason ... -
erlang-退出信号捕捉trap_exit
2016-07-12 09:54 1047进程链接的工作: A进程意外退出时,会产生一个退出信号。所 ... -
Erlang--随机数
2016-04-25 10:26 19871、普通随机 random:uniform(N) 2、以时间 ... -
Erlang--性能分析工具之eprof
2016-04-12 18:22 693eprof是erlang自带的一个性能分析工具,可以帮助我 ... -
Erlang监控工具(二)etop
2016-04-07 17:46 1800file:///D:/Program%20Files/er ... -
Erlang监控工具(一)observer
2016-04-05 15:17 1297Erlang系统本身携带一个图形化监控工具,它可以监控:系 ... -
Erlang--epmd
2016-03-30 14:13 619epmd Erlang Port Mapper Daemo ... -
Erlang--节点
2016-03-30 11:25 746Erlang节点 file:///D:/Program%20F ... -
小技巧收录----唯一ID
2016-03-08 14:34 928在游戏开发中,角色id或者公会id等都需要做唯一设计, ... -
Erlang--TCP学习(五)总结篇
2015-07-15 19:55 1763一、erlang socket的消息流的三种控制方式: 1 ... -
Erlang--TCP学习(四)并行web server篇
2015-07-14 20:09 698-module(tcp_parallel_server). ... -
Erlang--TCP学习(三)串行web server篇
2015-07-14 19:35 515简单web sever改进版:串行服务器,一次只接受一个连 ... -
Erlang--TCP学习(二)简单web_Server篇
2015-07-14 16:39 1037现在来写个简单的web服务器,要实现的功能是:只接受一个s ... -
erlang sasl错误日志
2015-04-22 16:03 1429SASL (System Architecture Sup ... -
erl启动参数
2015-04-20 16:54 1060erl启动参数分类 1 emulator flags 用“ ... -
Erlang和SMP
2015-04-17 15:44 1716SMP:Symmetrical Multi Processor ... -
写个makefile编译erlang_protobuffs
2015-03-16 20:23 1605erlang_protobuffs源码下载地址: https: ... -
erlang安装
2015-03-09 17:38 708erlang安装 1 解压包 tar -zxvf otp_s ...
相关推荐
- `tcp_client-master`可能包含源代码文件,如`.erl`文件,用于实现TCP客户端功能。 - 可能还有测试用例文件`.eunit`或`.ct`,用于验证和测试客户端的正确性。 - 配置文件可能定义了连接池大小、超时设置等参数。...
总的来说,这个基于Erlang的gen_tcp聊天室项目是学习并发编程和网络通信的良好实践。通过阅读和分析源代码,我们可以深入理解Erlang的并发特性、gen_tcp的使用方法,以及如何构建分布式、实时的聊天应用。
### Erlang学习知识点 #### 一、Erlang简介与安装 - **Erlang**是一种通用、并发、函数式编程语言,适用于构建高可用性系统。它在电信行业有广泛应用,同时也被用于互联网服务、分布式计算等领域。 - **安装步骤**...
本篇将围绕文档中的核心知识点进行深入解读,主要包括:构建一个简单的HelloServer、Table的并发消息机制、Table的简化版Server以及TCP Server的设计与实现。 #### 二、HelloServer实例 文档首先介绍了一个简单的...
在本文中,我们将探讨如何使用Erlang的OTP(Open Telecom Platform)原则构建一个非阻塞的TCP服务器。OTP为开发健壮、容错的应用提供了强大的框架,它包含了一系列行为模式,如gen_server和gen_fsm,这些模式可以...
总之,RabbitMQ作为一款强大的消息中间件,提供了可靠的异步通信解决方案,而Erlang、SOCAT和RabbitMQ服务器的组合是实现这一功能的基础。正确安装和配置这些组件是确保RabbitMQ正常运行的关键。
`{socket, gen_tcp}`表示我们使用gen_tcp作为底层协议,`{active, once}`则意味着Erlang进程将只接收一次来自socket的数据,之后需要手动调用`esockd:recv/2`或`esockd:recv/3`来接收更多数据。 对于服务器端,我们...
4. **实时通信**:为了实现实时交互,可以使用Erlang的TCP/UDP套接字接口进行网络通信,或者利用Erlang的Websocket库,如`gun`或`websocket_client_server`。 5. **rabbitMQ灵感**:既然项目参考了rabbitMQ,那么...
本篇将基于提供的标题“自己写一个tcp 通用服务器”来深入探讨如何创建一个自定义的TCP服务器,并结合描述中的博文链接和标签“源码 工具”,我们将分析提供的源码文件。 首先,让我们了解TCP服务器的基本工作原理...
<client host="localhost" use_controller_vm="true" maxusers="10000"></client> <!-- 服务器端配置 --> <server host="192.168.3.242" port="5222" type="tcp"> <!-- 负载配置 --> ...
在Erlang中实现TCP服务器的基础是一个循环,该循环不断地等待新的连接。可以使用gen_tcp:listen/2函数来启动监听一个特定端口的服务,并返回一个监听socket。一旦有新的连接请求,可以使用gen_tcp:accept/1来接受...
- **erlang**:Erlang是一种面向并发的、函数式编程语言,常用于构建高可用性、分布式系统,尤其适合处理大量并发连接和实时性需求。 - **HTTPErlang**:可能是指Erlang中的HTTP相关库或工具,强调了这个客户端是用...
尽管这是当前使用此方法的唯一方法,但应将其视为传统方法,并且应假定将来通信传输可以在任何基于消息的协议(例如erlang-distribution,zmq或类似协议)上运行。 所有事件都是一样的 术语 client -表示串行端口的...
emqttc 是一个 Erlang 的 MQTT 客户端,支持 MQTT V3.1/V3.1.1 协议规范。支持并行连接和连接自动恢复。要求 Erlang R17 .特性:支持 MQTT V3.1/V3.1.1 协议QoS0, QoS1, QoS2 发布和订阅TCP/SSL Socket 支持自动重连...
特征支持Apache Kafka v0.8 + 可靠的生产者实现,支持运行中的请求和异步确认消费者和生产者都可以在内部处理领导者连任和其他集群干扰每个brod_client最多打开1个TCP连接到一个代理,如果需要,一个代理可以创建更...
ErlMySQL是用Erlang编写MySQL客户端,提供的API非常接近Connector / C库。 客户端正在使用与MySQL服务器的低级(TCP / IP套接字)连接,并允许以最大可能的速度交换数据。 客户端中封装了多个数据源支持和连接池,...
在"rcp-client-master"这个项目中,我们可以预见到一个使用Erlang实现的RCP客户端示例,可能包含了客户端的接口设计、请求的序列化与反序列化逻辑、错误处理策略以及与Erlang OTP框架的集成。通过研究该项目的源代码...
部署过程主要包括安装Rabbitmq-server、导入集群中的cookie(cookie位置:/var/lib/rabbitmq/.erlang.cookie)、加入集群(在一个节点上操作即可)、改变节点类型、检查集群状态以及配置镜像模式等步骤。 3. Mysql/...
总结来说,`ckle锁`,即Shackle,是一个基于Erlang的高性能网络客户端框架,它支持TCP和UDP,内置SSL/TLS,提供了高效的并发处理和连接池管理,是构建大规模并发网络应用的理想选择。通过深入理解和使用Shackle,...
Erlang是一种并发性极强的编程语言,OTP(Open Telecom Platform)是其生态系统的一部分,提供了可靠的服务和进程管理框架。Gun在Erlang环境中为开发者提供了高效、稳定且功能丰富的网络通信工具。 Gun支持以下...