add socket api