GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - jwcpp/jwNet: 跨平台(Iocp/Epoll)Tcp网络库

BranchesTags
Open more actions menu

Latest commit

 

History

9 Commits
9 Commits

Folders and files

NameName
Last commit message
Last commit date
src
src
 
 
README.md
README.md
 
 
premake.bat
premake.bat
 
 
premake.lua
premake.lua
 
 
premake.sh
premake.sh
 
 
premake5
premake5
 
 
premake5.exe
premake5.exe
 
 

Repository files navigation

jwNet

一个跨平台事件网络库,支持epoll/iocp ipv4/ipv6。化繁为简,极度精简其接口。和著名的ASIO保持一样的Proactor设计风格,优雅大气,揣摩chriskohlhoff大师的设计理念。

测试通过:vs2019 & CentOS7

#include "Network.h"
using namespace net;

#define BUFFLEN 1024

class Connect : public IoSocket
{
protected:
	virtual void onConnect(int err) {}
	virtual void onWrite(int bytes, int err) {}

	virtual void onRead(int bytes, int err){
		if (bytes <= 0 || err) {
			return;
		}
		printf("recv msg: %s\n", readbuff);
		postRead();
	}

public:
	void postRead(){
		//Request to read data
		IoSocket::read(readbuff, BUFFLEN);
	}

private:
	char readbuff[BUFFLEN];
};

class IServer : public Accept
{
public:
	virtual void onAccept(IoSockptr& sptr, int err) {
		if (err){
			accept(sptr);
		}
		else {
			((Connect*)sptr.get())->postRead();
			accept(std::make_shared<Connect>());
		}
	}
};

int main()
{
	NetLoop loop;
	loop.init();

	IServer accept;
	accept.listen(&loop, "127.0.0.1", 6601);
	accept.accept(std::make_shared<Connect>());

	while (1) {
		loop.run(5);
	}
	return 0;
}

更多项目:jwEngine

About

跨平台(Iocp/Epoll)Tcp网络库

Topics

epolliocpnetlibproactorsockettcp

Resources

Readme
Activity

Stars

5 stars

Watchers

1 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.