* Socket通讯客户端是什么? (产品供销 - 工业产品)

网络广告(中国) > 产品供销 > 工业产品 > * Socket通讯客户端是什么?

信息号码: 2993635 类别: 产品供销 - 工业产品

* Socket通讯客户端是什么?


客户端代码:
  public class ClientMain { public ClientMain() { try { // 构造与服务器通讯的Socket对象,参数为服务器IP地址(String)和端口号(int),北京工业设计端口号需要和服务器端开放的端口号对应 Socket s = new Socket("192.168.1.100", ); // 启动一个线程与服务器通讯,并把链接服务器的Socket对象传递过去 new LinkThread(s).start(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new ClientMain(); } } /** * 与服务器通讯的线程 */ class LinkThread extends Thread { private Socket s = null; // 输出流 private PrintStream out = null; // 缓冲输入流 private BufferedReader in = null; // 录入文字的Scanner对象 private Scanner scanner = null; public LinkThread(Socket s) { // 将Socket对象实例保存在全局变量中,因为run方法中我们还要用它断开链接

  // 从Socket中获取输入流和输出流,由于我们只做一个简单的字符串通讯,所以采用BufferedRead和PrintStream来封装输入、输出流 out = new PrintStream(s.getOutputStream()); in = new BufferedReader(new InputStreamReader(s.getInputStream())); } /** * 线程的运行run方法 */ public void run() { scanner = new Scanner(System.in); System.out.println("提示:如果要结束本次会话,请输入“exit”指令!"); while(true){ System.out.print("请输入:"); String message = scanner.nextLine(); // 通过输出流发送字符串 out.println(message); // 清空缓冲,强制输出 out.flush(); // 获取服务器返回的字符串 String str = in.readLine(); // 如果返回的字符串存在 if(str != null){ // 显示在控制台 System.out.println(str); }else{ // 提示会话结束,并结束线程 System.out.println("本次会话结束!"); return; } } s.close(); } }

AJCDN企业,在香港新加坡日本台湾欧洲均设有云服务器,为海内外提供高品质的海外互联网服务,安全免实名,有需要的朋友可联系:telegram:@sala135 @ajcdn

相关链接: (无)
面向省市区: 全国
面向市区县: 全部
最后更新: 2024-02-08 12:26:31
发 布 者: 草莓
联系电话: (无)
电子邮箱: (无)
浏览次数: 37
网络广告(中国) > 产品供销 > 工业产品 > * Socket通讯客户端是什么?
© 2024 网络广告(中国) CNNetAds.com