Socket通讯服务器端是什么? | |
服务器端代码: /** * Socket通讯服务器端 */ public class ServerMain { public ServerMain() { // 构造服务器ServerSocket对象,参数为服务器端开放的端口号 ServerSocket ss = new ServerSocket(8080); System.out.println("服务器准备就绪!"); // 死循环可以使服务器持续处于接收客户端状态 while(true){ // 该方法使程序阻塞,等待客户端的链接,当监听到客户端的链接,创建一个Socket对象与客户端单独会话 Socket s = ss.accept(); // 为了不影响服务器监听其它客户端,这里开启了一个线程,由线程处理与这个北京VI设计客户端的会话 new ServerThread(s).start(); } } public static void main(String[] args) { new ServerMain(); } } /** * 服务器端与客户端会话的线程 */ class ServerThread extends Thread { private Socket s = null; private BufferedReader read = null; private PrintStream print = null; public ServerThread(Socket s) { // 从Socket中获取输入流和输出流,由于我们只做一个简单的字符串通讯,所以采用BufferedRead和PrintStream来封装输入、输出流 read = new BufferedReader(new InputStreamReader(s.getInputStream())); print = new PrintStream(s.getOutputStream()); } /** * 线程的运行run方法 */ public void run() { String message = null; // 这里循环可以使服务器持续的接收客户端信息。read.readLine()通过输入流读取一段字符串,赋值给message变量,如果message字符串不为“exit”则循环,否则结束循环 while (!(message = read.readLine()).equals("exit")){ // 将字符串前面添加“返回:”,再发回客户端 print.println("返回:" + message); } s.close(); } } AJCDN企业,在香港新加坡日本台湾欧洲均设有云服务器,为海内外提供高品质的海外互联网服务,安全免实名,有需要的朋友可联系:telegram:@sala135 @ajcdn | |
相关链接: (无) 面向省市区: 全国 面向市区县: 全部 最后更新: 2024-02-08 12:24:30 | 发 布 者: 草莓 联系电话: (无) 电子邮箱: (无) 浏览次数: 98 |