如何在java中初始化套接字?

时间:2017-06-27 12:38:52

标签: java sockets network-programming

Socket soc = new Socket();

现在,我必须将soc句柄传递给一个函数,该函数使用适当的IP地址和ServerSocket的端口号初始化套接字。我该怎么做 ? 我试过了:

Socket soc;
//then a lambda which initializes like this :
soc = new Socket("ip", port_no);

但是,lambda必须让soc成为最终的。所以,我能看到的唯一选择是在函数中延迟初始化该套接字句柄。

2 个答案:

答案 0 :(得分:1)

不是使用获取端点详细信息的构造函数(并尝试立即连接),您总是可以创建一个未连接的套接字,稍后再创建connect(),无论是在另一个方法还是lambda中。

Socket sock = new Socket();
doSomething(sock);
...
public void doSomething(Socket sock) {
    sock.connect(new InetSocketAddress("foo.com", 6667));
}

答案 1 :(得分:0)

你做不到。 唯一的方法是将它转换为最终数组:

<?php
ob_start();
if (session_id() == '') {
    session_start();
}


$GrpID = $_POST['id']; // change 

$_SESSION['grp'] = $GrpID;


ob_end_flush();
?>