我正在构建一个简单的Java服务器,该服务器使用两个ServerSocket实例同时在两个端口上同时侦听客户端请求。这是服务器的代码:

import java.io.PrintWriter;

import java.io.OutputStream;

import java.net.ServerSocket;

import java.net.Socket;

class Socket1 implements Runnable

{

public void run()

{

try

{

ServerSocket serverSock=new ServerSocket(5000);

while(true)

{

Socket sock=serverSock.accept();

PrintWriter writer=new PrintWriter(sock.getOutputStream());

String text="Welcome to Port 5000";

writer.println(text);

}

}

catch(Exception e)

{

System.out.println("Error");

}

}

}

class Socket2 implements Runnable

{

public void run()

{

try

{

ServerSocket serverSock=new ServerSocket(3000);

while(true)

{

Socket sock=serverSock.accept();

PrintWriter writer=new PrintWriter(sock.getOutputStream());

String text="Welcome to Port 3000";

writer.println(text);

}

}

catch(Exception e)

{

System.out.println("Error");

}

}

}

public class Server

{

public static void main(String[] args)

{

Socket1 s1=new Socket1();

Socket2 s2=new Socket2();

Thread t1=new Thread(s1);

Thread t2=new Thread(s2);

t1.start();

t2.start();

}

}

现在为Client1编码:

import java.io.InputStreamReader;

import java.io.BufferedReader;

import java.net.Socket;

public class Client1

{

public static void main(String[] args)

{

try

{

Socket s=new Socket("127.0.0.1", 5000);

InputStreamReader streamReader=new InputStreamReader(s.getInputStream());

BufferedReader reader=new BufferedReader(streamReader);

String text=reader.readLine();

System.out.println(text);

reader.close();

}

catch(Exception e)

{

System.out.println("Error");

}

}

}

Client2包含与Client1相同的代码,唯一的区别是它尝试连接到端口3000。现在,我首先使用命令提示符执行Server.java。服务器阻塞时,我打开两个单独的命令提示符,并在一个命令提示符下执行Client1.java,在另一个命令提示符下执行Client2.java。但是,两个客户端都进入阻塞状态,但我没有任何输出。知道如何解决这个问题吗?

java 多线程监听同一个端口_使用多线程在Java服务器中同时侦听两个端口相关推荐

  1. java重定向并保持同一个会话_当会话在Java Web应用程序中过期时,如何重定向到登录页面?...

    您也可以使用以下过滤器进行操作: public class RedirectFilter implements Filter { public void doFilter(ServletRequest ...

  2. Vue中的侦听器watch

    侦听器:侦听属性或计算属性值的变化,可以做异步操作,比如setTimeout(). 实现侦听器的两种格式 ① 利用watch配置项 new Vue({el: '#root',data: functio ...

  3. linux 关闭端口_手把手教你在Linux中快速检测端口的 3 个小技巧

    一个执着于技术的公众号 前言 无论是要解决网络连接问题还是配置防火墙,第一件事是要检查系统实际打开了哪些端口. 本文介绍了几种快速查找 Linux 系统上哪些端口向外部开放的方法. 什么是开放端口 监 ...

  4. java 如何去掉http debug日志_你居然还去服务器上捞日志,搭个日志收集系统难道不香吗?...

    作者:MacroZheng 链接:https://juejin.im/post/5eef217d51882565d74fb4eb 来源:掘金 SpringBoot实战电商项目mall(35k+star ...

  5. java ftp获取文件名的方法_小猿圈Java学习-URL地址的组成格式

    URL的全称是Uniform Resource Locator,意思是统一资源定位符,俗称网络地址或网址.网络上的每个文件及接口,都有对应的URL网址,它规定了其他设备如何通过一系列的路径找到自己,犹 ...

  6. ios java aes_PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密

    **PHP7.0 7.1 7.2 7.3 AES对等加解密类 函数文件_兼容ios/andriod/java等** 由于新项目规划要求使用PHP7.2开发环境,但在部分新系统中仍需使用AES加解密方式 ...

  7. 我的世界java正版可以改名字嘛_我的世界Java版帐号将迁移至微软帐号和相关注意事项FQA...

    在你迁移之后,游戏内容不会有任何变化.你仍然可以继续使用Mod和皮肤(当然,你现在正在用的也可以继续用),还能照常在Java版服务器中游玩.你在Minecraft Java版的游戏名不会改变,新玩家也 ...

  8. java电商秒杀深度优化_【B0796】Java性能优化亿级流量秒杀方案及电商项目秒杀实操2020视频教程...

    Java视频教程名称:Java性能优化亿级流量秒杀方案及电商项目秒杀实操2020视频教程    java自学网[javazx.com]  性能视频教程   it教程 Java自学网收集整理 java论 ...

  9. java实验报告金陵科技学院_金陵科技学院java

    <Java语言程序设计>学生信息管理_理学_高等教育_教育专区.学生信息管理系统,金陵科技学院 <Java 语言程序设计>课程考查报告 题 目: 学生信息管理程序 学生姓名.. ...

最新文章

  1. 语义分割--Efficient and Robust Deep Networks for Semantic Segmentation
  2. smartfoxserver java客户端_SmartFoxServer之服务器篇一
  3. Loadrunner 入门连载教程
  4. SAP Cloud for Customer图片渲染逻辑的调试
  5. 笔记本电脑处理器_高通提示低成本5G芯片更强大的笔记本电脑处理器
  6. ajax原理总结,Ajax原理
  7. oracle delete循环删除_oracle性能优化:高水位线(HWM)详解--如何计算HWM
  8. java实现希尔排序(交换法、移位法) 图解+代码推导
  9. 最棒的Java开发企业级权限管理系统项目实战
  10. python notebook两个窗口_JupyterNotebook 输出窗口的显示效果调整实现
  11. es的range过滤_ElasticSearch 常用的查询过滤语句
  12. 微信扫码支付:此公众号并没有这些scope的权限,错误码:10005
  13. 无需域名实现frp多端口内网穿透
  14. 金蝶EAS开发 第二弹:了解开发工具与基本使用(下)
  15. 带账号、密码ssh的脚本
  16. Juery事件方法 — 37个
  17. JavaScript 日期
  18. 输入框调用手机键盘的确认按钮
  19. JS语法:map()方法
  20. 宇宙是设计好的,结构像齿轮一样精准

热门文章

  1. php 上传文件漏洞,【文件上传】PHP文件上传漏洞
  2. android 多屏幕 设计翻译,android Supporting multiple screen翻译一
  3. CTF-杂项之工具使用汇总(一)
  4. python 比较列表相邻元素(找相同或去重)
  5. Python教程:对 a = [lambda : x for x in range(3)] 的理解
  6. Python数据库添加时间
  7. python中8大排序(原理+代码)
  8. mysql链表_MySql链表语句--博客园老牛大讲堂
  9. 腾讯微信是通过美国服务器传的吗,原来微信和QQ的文件是可以相互传输的!现在才知道,真是太可惜了...
  10. 二级c语言努力学可以过吗,考过计算机二级C语言一些感想和建议