在Java编程中,如何使服务器允许连接到套接字端口?

以下示例显示如何使服务器通过使用ServerSocket类的server.accept()方法和Socket类的sock.getInetAddress()方法来允许连接到套接字端口:`1234

package com.yiibai;

import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket; public class ConnectingSocket {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(12345);
while (true) {
System.out.println("Listening");
Socket sock = server.accept();
InetAddress addr = sock.getInetAddress();
System.out.println("Connection made to " + addr.getHostName() + " (" + addr.getHostAddress() + ")");
pause(5000);
sock.close();
}
} catch (IOException e) {
System.out.println("Exception detected: " + e);
}
} private static void pause(int ms) {
try {
Thread.sleep(ms);
} catch (InterruptedException e) {
}
}
}
Java

上述代码示例将产生以下结果 -

Listening
Connection made to 127.0.0.1 (127.0.0.1)
Listening
Shell

客户端代码参考如下 -

package com.yiibai;

import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException; public class SocketClient {
public static void main(String[] args) {
try {
//InetAddress addr = InetAddress.getByName("127.0.0.1");
Socket theSocket = new Socket("127.0.0.1", 12345);
System.out.println("Connected to " + theSocket.getInetAddress() + " on port " + theSocket.getPort()
+ " from port " + theSocket.getLocalPort() + " of " + theSocket.getLocalAddress());
} catch (UnknownHostException e) {
System.err.println("I can't find " + e);
} catch (SocketException e) {
System.err.println("Could not connect to " + e);
} catch (IOException e) {
System.err.println(e);
}
}
}

最新文章

  1. Extjs4.0以上版本 Ext.Ajax.request请求的返回问题
  2. ngCordova插件安装使用
  3. Android强制弹出,隐藏输入法.
  4. [学点英语]扎克伯格给女儿的信,translation of zucherber's letter to her daughter( Chinese version)
  5. 提问:"~"运算符
  6. iOS之UIview动画
  7. 世界国家名与英文名【json】
  8. ARM标准汇编与GNU汇编
  9. FMDB与GCD
  10. 对lua中_ENV表的理解(lua5.2版本以后)
  11. MySQL中变量的总结
  12. Laravel 模型事件入门
  13. pandas的apply操作
  14. Hibernate(链接数据库方便得多)!
  15. JavaAes加密操作工具类
  16. ETCD集群安装实验
  17. tomcat 配置域名访问应用
  18. django模型的继承
  19. 项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
  20. MySQL 工具

热门文章

  1. android studio git 将项目分享到github,推送到其他平台 码云 等。
  2. 洛谷.1919.[模板]A*B Problem升级版(FFT)
  3. Python3基础系列-基本入门语法
  4. UITableView滚动优化(RunLoop)
  5. Java基础-多线程-②多线程安全问题
  6. 四种常见 Git 工作流比较
  7. Reveal:分析iOS UI的利器
  8. caffe出错:Unknown bottom blob 'data' (layer 'conv1', bottom index 0)
  9. Java+大数据开发——Hadoop集群环境搭建(一)
  10. aglio报错解决