SSOC18 / ssoc18-wiki

Shadi's Summer of Code 2018
0 stars 1 forks source link

[mickmek] explore quickfix client/server #3

Closed shadiakiki1986 closed 6 years ago

shadiakiki1986 commented 6 years ago

Hi @mickmek

This is just a placeholder for our next project to set up quickfix client/server. We will fill in the steps breakdown later.

Steps

shadiakiki1986 commented 6 years ago

@MickMek I added some points above

MickMek commented 6 years ago

Ran tradeclient and executor on local computer, screenshots below:

login enter_order quit

Issues: -Not sure what is ClOrdID tag, cannot find it in config -Unable to run quickfix on server, error: "The program 'go' is currently not installed. To run 'go' please ask your administrator to install the package 'golang-go'"

shadiakiki1986 commented 6 years ago

@MickMek fixed go issue on server. Try again now please

ubuntu@ssoc18:~$ go version
go version go1.6.2 linux/amd64
shadiakiki1986 commented 6 years ago

ClOrdID is not available in the config?

MickMek commented 6 years ago

quickfix successful set-up on server, screenshot below:

screen shot 2018-07-06 at 4 47 24 pm
MickMek commented 6 years ago

Update:

Successful set up for wireshark (on local PC), with filter: fix.MsgType != "0" && fix Screenshots below:

screen shot 2018-07-11 at 2 30 09 pm

Added below logic to our executor:

Notes: Must specify GOPATH as follows: export GOPATH=$HOME/3-quickfix/go/ If executor was not exited properly in the last use, must kill running instance in port: lsof -i kill -9 < PID >

Issues:

shadiakiki1986 commented 6 years ago

About your issue with golang and postgresql, you need to complement database/sql with github.com/lib/pq. Check here for an example.

shadiakiki1986 commented 6 years ago

Btw, just for the sake of doing an example, put me on the email CC list and submit an order from the trade client to the executor. I'd like to see the email arrive in my mailbox

MickMek commented 6 years ago

Added you to the mailing list.

For the database, upon trying to complement database/sql with GitHub.com/lib/pq, got the error: unrecognized import path "context"

It seems this "context" package was added to Go 1.7 but not 1.6, that is why there are no proper drivers to read the database (same case for mysql and other drivers). I have tried other packages, such as: github.com/bmizerany/pq github.com/lxn/go-pgsql But no luck..

shadiakiki1986 commented 6 years ago

Ok I see. We can just update the go on the server to a more recent version

On Sat, Jul 14, 2018, 12:46 MickMek notifications@github.com wrote:

Added you to the mailing list.

For the database, upon trying to complement database/sql with GitHub.com/lib/pq, got the error: unrecognized import path "context"

It seems this "context" package was added to Go 1.7 but not 1.6, that is why there are no proper drivers to read the database (same case for mysql and other drivers). I have tried other packages, such as: github.com/bmizerany/pq github.com/lxn/go-pgsql But no luck..

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/teamshadi/ssoc18/issues/3#issuecomment-405012229, or mute the thread https://github.com/notifications/unsubscribe-auth/AIAOhHorFGGNubuvS3nBQcd0MD-ln2jNks5uGb4SgaJpZM4U34p6 .

shadiakiki1986 commented 6 years ago
MickMek commented 6 years ago

Update: Added all required logic to our executor Added messages to our tradeclient, informing on our conditions.

Issues: Unable to collect packages with tshark from the Loopback interface, screenshot below:

screen shot 2018-07-17 at 2 00 56 pm
shadiakiki1986 commented 6 years ago

Looks like you will need sudo access. Let me try it out as admin and let you know. Meanwhile, please look into whether or not quickfix has a web-based trade client available. Maybe somebody already built one. If not, let's look into how to build a web app that wraps the quickfix trade client. Was there a trade client already implemented in python? (I don't remember if it was the trade client or the executor). If yes, then flask would be a good choice for a framework. If not, let's see what web development framework is available for golang since we already have that one working. Then let's rewrite the golang trade client to become a web app instead of a console app. Shadi

On Tue, Jul 17, 2018, 14:05 MickMek notifications@github.com wrote:

Update: Added all required logic to our executor Added messages to our tradeclient, informing on our conditions.

Issues: Unable to collect packages with tshark from the Loopback interface, screenshot below: [image: screen shot 2018-07-17 at 2 00 56 pm] https://user-images.githubusercontent.com/40487507/42813632-534433e2-89ca-11e8-822d-aaed026068ae.png

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/teamshadi/ssoc18/issues/3#issuecomment-405544555, or mute the thread https://github.com/notifications/unsubscribe-auth/AIAOhHMLj04BYhcgxjYBa6ec5Jy8JMFSks5uHcTogaJpZM4U34p6 .

shadiakiki1986 commented 6 years ago

Migrated to https://github.com/SSOC18/quickfix-executor/issues/2