seqs
1.0.0
seqs
는 일반적으로 사용자 공간 IP 구현이라고 합니다. 다음을 처리합니다.
stacks/tcpconn.go
참조하세요.httpx
패키지를 참조하세요 // stack works by having access to Ethernet packet sending
// and processing. NIC is our physical link to the internet.
var NIC NetworkInterfaceCard = getNIC ()
stack := stacks . NewPortStack (stacks. PortStackConfig {
MAC : MAC ,
MaxOpenPortsTCP : 1 ,
MaxOpenPortsUDP : 1 ,
MTU : 2048 ,
})
// stack.RecvEth should be called on receiving an ethernet packet. It should NOT block.
NIC . SetRecvEthHandle ( stack . RecvEth )
// Static IP setting.
ip := netip . AddrFrom4 ([ 4 ] byte { 192 , 168 , 1 , 45 })
stack . SetAddr ( ip )
// Or can request an address via DHCP.
dhcpClient := stacks . NewDHCPClient ( stack , dhcp . DefaultClientPort )
err = dhcpClient . BeginRequest (stacks. DHCPRequestConfig {
RequestedAddr : netip . AddrFrom4 ([ 4 ] byte { 192 , 168 , 1 , 69 }),
Xid : 0x12345678 ,
Hostname : "tinygo-pico" ,
})
if err != nil {
panic ( err )
}
fmt . Println ( "Start DHCP..." )
for ! dhcpClient . Done () {
doNICPoll ( NIC )
time . Sleep ( time . Second / 10 )
}
offeredIP := dhcpClient . Offer ()
fmt . Println ( "got offer:" , offeredIP )
stack . SetAddr ( offeredIP )
seqs
사용하는 방법
go mod download github.com/soypat/seqs@latest
seqs
이전에는 다음이 있었습니다.
ether-swtch
- 2021년 6월경 임베디드 시스템에서 작동하는 Go에서 (거의) 작동하는 TCP/IP 스택의 첫 번째 알려진 인스턴스입니다. HTTP(!)를 통해 Arduino UNO의 LED를 깜박일 수 있습니다. 디자인, 코드, 성능, 가독성이 좋지 않은 것으로 유명합니다.dgrams
- Pico W의 wifi 칩을 위해 준비된 라이브러리입니다. 이미 seqs
와 유사점을 보여줍니다. 2023년 5월경.