equal
deleted
inserted
replaced
119 } |
119 } |
120 } |
120 } |
121 return result; |
121 return result; |
122 } |
122 } |
123 |
123 |
|
124 flib_tcpsocket *flib_socket_connect(const char *host, uint16_t port) { |
|
125 flib_tcpsocket *result = NULL; |
|
126 if(!host || port==0) { |
|
127 flib_log_e("Invalid parameter in flib_socket_connect"); |
|
128 } else { |
|
129 IPaddress ip; |
|
130 if(SDLNet_ResolveHost(&ip,host,port)==-1) { |
|
131 flib_log_e("SDLNet_ResolveHost: %s\n", SDLNet_GetError()); |
|
132 } else { |
|
133 TCPsocket sock=SDLNet_TCP_Open(&ip); |
|
134 if(!sock) { |
|
135 flib_log_e("SDLNet_TCP_Open: %s\n", SDLNet_GetError()); |
|
136 } else { |
|
137 result = flib_socket_create(sock); |
|
138 if(result) { |
|
139 sock = NULL; |
|
140 } |
|
141 } |
|
142 SDLNet_TCP_Close(sock); |
|
143 } |
|
144 } |
|
145 return result; |
|
146 } |
|
147 |
124 void flib_socket_close(flib_tcpsocket *sock) { |
148 void flib_socket_close(flib_tcpsocket *sock) { |
125 if(sock) { |
149 if(sock) { |
126 SDLNet_DelSocket(sock->sockset, (SDLNet_GenericSocket)sock->sock); |
150 SDLNet_DelSocket(sock->sockset, (SDLNet_GenericSocket)sock->sock); |
127 SDLNet_TCP_Close(sock->sock); |
151 SDLNet_TCP_Close(sock->sock); |
128 SDLNet_FreeSocketSet(sock->sockset); |
152 SDLNet_FreeSocketSet(sock->sockset); |