Java如何使服务器允许连接到套接字端口?

在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);
        }
    }
}

原文地址:https://www.cnblogs.com/borter/p/9617169.html

时间: 2024-11-02 03:55:29

Java如何使服务器允许连接到套接字端口?的相关文章

VMware报错:无法连接 MKS: 套接字连接尝试次数太多;正在放弃

环境: win10    VMware pro 14   Cent OS 7 问题详情: 报错:无法连接 MKS: 套接字连接尝试次数太多:正在放弃 解决方案: 1.关闭报错的虚拟机 2.打开控制面板->系统和安全->管理工具->服务 3.找到VMware Authorization Service,鼠标右键选择启动,然后就可以看到状态的改变 4.选中后鼠标右键属性中启动类型设置为自动.下次就会自启动 5.重新打开虚拟机,测试 原文地址:https://www.cnblogs.com/s

虚拟机VMware无法打开,提示无法连接MKS:套接字连接次数太多,正在放弃

问题:虚拟机VMware无法打开,提示无法连接MKS:套接字连接次数太多,正在放弃解决方法:我的电脑- 管理- 服务和应用程序- 服务- (右键)启动下面5个服务:Vmware Authorization ServiceVmware DHCP ServiceVmware NAT ServiceVmware USB Arbitration ServiceVmware Workstation Server 原文地址:https://blog.51cto.com/zhaoshilei/2444078

TCP套接字端口复用SO_REUSEADDR

下面建立的套接字都是tcp套接字 1.进程创建监听套接字socket1,邦定一个指定端口,并接受了若干连接.那么进程创建另外一个套接口socket2,并试图邦定同一个端口时候,bind错误返回“Address already in use”(即使使用了SO_REUSEADDR). 2.进程创建监听套接字,邦定一个指定端口,并接受了若干连接,为每个连接创建子进程为连接服务.杀死监听套接字所在进程,然后重新启动.重新启动的进程调用bind重新建立监听套接字.这次邦定只有在bind前指定了SO_REU

套接字端口重用

用python编写socket程序, 在指定端口上监听服务: import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)port = 8080sock.bind(('', port))sock.listen(1)print 'listening on port: %s' % portwhile True:    try:        conn, addr = sock.accept()        print

TCP和UDP套接字编程 (java实现)

在了解网络编程之前,我们先了解一下什么叫套接字 套接字即指同一台主机内应用层和运输层之间的接口 由于这个套接字是建立在网络上建立网络应用的可编程接口 因此也将套接字称为应用程序和网络之间的应用程序编程接口! 关于TCP和UDP这里就不作太多介绍了,我们知道TCP是面向连接的,UDP是不面向连接的,TCP可靠,UDP不可靠即可! 我们来设计一个应用来示范一下,流程: 客户机从键盘读取一行字符串,并通过套接字发送到服务器. 服务器从连接的套接字获取这行字符串,并对其进行修改(将小写转为大写),最后再

JAVA套接字(Socket)101七天系列—第四天【一个简单示例】

一个简单示例  1. 背景 我们将在本部分讨论的示例将阐明在 Java 代码中如何使用 Socket 和 ServerSocket.客户机用Socket 连接到服务器.服务器用 ServerSocket 在端口 3000 侦听.客户机请求服务器 C: 驱动器上的文件内容. 为清楚起见,我们把示例分解成客户机端和服务器端.最后我们将把它们组合起来以使您能看到整体模样. 我们在使用 JDK 1.2 的 IBM VisualAge for Java 3.5 上开发这些代码.要自己创建这个示例,您应有完

【Java】Java网络编程菜鸟进阶:TCP和套接字入门

Java网络编程菜鸟进阶:TCP和套接字入门 JDK 提供了对 TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)这两个数据传输协议的支持.本文开始探讨 TCP. TCP 基础知识 在“服务器-客户端”这种架构中,服务器和客户端各自维护一个端点,两个端点需要通过网络进行数据交换.TCP 为这种需求提供了一种可靠的流式连接,流式的意思是传出和收到的数据都是连续的字节,没有对数据量进行大小限制.

Java数据报套接字

这篇博文是本文学习<Java网络程序设计>书中第5章数据报套接字的学习总结.初学者网友学习这篇Java数据报套接字文章,如果难于理解文章前面理论部分,可以先运行后面的程序,边看运行后面的程序边理解前面的原理,这对初学者是最好的方法.所有源代码都在文章后面我的github链接代码中. --惠州学院13网络工程 吴成兵 20160609 目录 1 目录 1 一 数据报套接字概述 二 DatagramPacket 21 创建DatagramPacket对象 211 创建的DatagramPacket

Java知多少(105)套接字(Socket)

网络应用模式主要有: 主机/终端模式:集中计算,集中管理: 客户机/服务器(Client/Server,简称C/S)模式:分布计算,分布管理: 浏览器/服务器模式:利用Internet跨平台. www(万维网)就是建立在客户机/服务器模式上,以HTML语言和HTTP协议为基础,能够提供各种Internet服务的信息浏览系统.网络信息放在主机的不同位置,www服务器利用超文本链路链接各项信息.www客户机(浏览器Brower)负责与服务器建立联系,向服务器发送请求,处理HTML超媒体,提供图形用户