Figure local address of established TCP session
This commit is contained in:
parent
9df2cfbe53
commit
3d01c3b914
2 changed files with 5 additions and 0 deletions
4
tcp.c
4
tcp.c
|
@ -584,6 +584,10 @@ tcp_server_callback(int events, void *opaque, int fd)
|
|||
ses->tcp_server = srv;
|
||||
memcpy(&ses->tcp_peer_addr, &from, socklen);
|
||||
|
||||
socklen = sizeof(struct sockaddr_storage);
|
||||
if(getsockname(newfd, (struct sockaddr *)&ses->tcp_self_addr, &socklen))
|
||||
memset(&ses->tcp_self_addr, 0, sizeof(struct sockaddr_storage));
|
||||
|
||||
tcp_start_session(ses);
|
||||
}
|
||||
|
||||
|
|
1
tcp.h
1
tcp.h
|
@ -56,6 +56,7 @@ typedef struct tcp_session {
|
|||
void *tcp_dispatch_handle;
|
||||
int tcp_fd;
|
||||
struct sockaddr_storage tcp_peer_addr;
|
||||
struct sockaddr_storage tcp_self_addr;
|
||||
char tcp_peer_txt[100];
|
||||
tcp_callback_t *tcp_callback;
|
||||
tcp_server_t *tcp_server; /* if this is NULL, then we are spawned
|
||||
|
|
Loading…
Add table
Reference in a new issue