Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
go-libp2p
Commits
f3812dec
Commit
f3812dec
authored
Nov 06, 2016
by
Lars Gierth
Browse files
Rename hosts to echo example, remove justtcp example
parent
4150c40e
Changes
4
Hide whitespace changes
Inline
Side-by-side
examples/ho
sts
/README.md
→
examples/
ec
ho/README.md
View file @
f3812dec
File moved
examples/ho
sts
/main.go
→
examples/
ec
ho/main.go
View file @
f3812dec
File moved
examples/justtcp/README.md
deleted
100644 → 0
View file @
4150c40e
# libp2p 'just tcp' example
## What this does
This example starts up a libp2p swarm that listens for tcp connections behind a
multistream muxer protocol of
`/plaintext/1.0.0`
. All connections made to it
will be echoed back.
## Building
```
$ go build
```
## Usage
```
$ ./justtcp
```
examples/justtcp/main.go
deleted
100644 → 0
View file @
4150c40e
package
main
import
(
"context"
"fmt"
"os"
"github.com/libp2p/go-libp2p-swarm"
tcpt
"github.com/libp2p/go-tcp-transport"
ma
"github.com/multiformats/go-multiaddr"
)
func
fatal
(
i
interface
{})
{
fmt
.
Println
(
i
)
os
.
Exit
(
1
)
}
func
main
()
{
laddr
,
err
:=
ma
.
NewMultiaddr
(
"/ip4/0.0.0.0/tcp/5555"
)
if
err
!=
nil
{
fatal
(
err
)
}
// create a new swarm with a dummy peer ID, no private key, and no stream muxer
s
:=
swarm
.
NewBlankSwarm
(
context
.
Background
(),
"bob"
,
nil
,
nil
)
// Add a TCP transport to it
s
.
AddTransport
(
tcpt
.
NewTCPTransport
())
// Add an address to start listening on
err
=
s
.
AddListenAddr
(
laddr
)
if
err
!=
nil
{
fatal
(
err
)
}
// Set a handler for incoming connections
s
.
SetConnHandler
(
func
(
c
*
swarm
.
Conn
)
{
fmt
.
Println
(
"Got a new connection!"
)
defer
c
.
Close
()
buf
:=
make
([]
byte
,
1024
)
for
{
n
,
err
:=
c
.
RawConn
()
.
Read
(
buf
)
if
err
!=
nil
{
fmt
.
Println
(
err
)
return
}
fmt
.
Printf
(
"read: %q
\n
"
,
string
(
buf
[
:
n
]))
_
,
err
=
c
.
RawConn
()
.
Write
(
buf
[
:
n
])
if
err
!=
nil
{
fmt
.
Println
(
err
)
return
}
}
})
// Wait forever
<-
make
(
chan
bool
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment