@@ -23,6 +23,7 @@ public function createClient($host, $port)
23
23
{
24
24
$ factory = $ this ;
25
25
$ loop = $ this ->loop ;
26
+
26
27
return $ this ->resolve ($ host )->then (function ($ ip ) use ($ loop , $ port , $ factory ) {
27
28
$ address = $ factory ->createAddress ($ ip , $ port );
28
29
$ socket = stream_socket_client ('udp:// ' . $ address , $ errno , $ errstr );
@@ -36,14 +37,19 @@ public function createClient($host, $port)
36
37
37
38
public function createServer ($ port , $ host = '127.0.0.1 ' )
38
39
{
39
- $ address = $ this ->createAddress ($ host , $ port );
40
+ $ factory = $ this ;
41
+ $ loop = $ this ->loop ;
40
42
41
- $ socket = stream_socket_server ("udp:// " . $ address , $ errno , $ errstr , STREAM_SERVER_BIND );
42
- if (!$ socket ) {
43
- return When::reject (new Exception ('Unable to create server socket: ' . $ errstr , $ errno ));
44
- }
43
+ return $ this ->resolve ($ host )->then (function ($ ip ) use ($ loop , $ port , $ factory ) {
44
+ $ address = $ factory ->createAddress ($ ip , $ port );
45
45
46
- return When::resolve (new Socket ($ this ->loop , $ socket ));
46
+ $ socket = stream_socket_server ("udp:// " . $ address , $ errno , $ errstr , STREAM_SERVER_BIND );
47
+ if (!$ socket ) {
48
+ throw new Exception ('Unable to create server socket: ' . $ errstr , $ errno );
49
+ }
50
+
51
+ return new Socket ($ loop , $ socket );
52
+ });
47
53
}
48
54
49
55
protected function resolve ($ host )
0 commit comments