- 浏览: 97249 次
- 性别:
- 来自: 广州
文章分类
最新评论
ServerSocket类
ServerSocket myListener = new ServerSocket(600);
提供监听服务的端口是600,不同服务之间通过端口来区别。为了随时监听可能的Client端的请求,执行如
下语句:
Socket linkSockt = myListener.accept();
这个方法执行将使得Server端处于等待状态,直到接收一个来自Client端的请求,并返回一个与Client通信
的Socket对象。Server端与Client端连接后,就实现了相互读写数据,结束通信执行:
myListener.close();
Socket类
Client需从Server获取服务时,应创建一个Socket对象:
Socket mySocket = new Socket(host,port);
连通后,利用Socket类方法getOutputStream()获取(write)输出流,和getInputStream()获取(read)输
入流。结束通信同样是
mySocket.close();
ServerSocket一般仅用于设置端口号和监听,真正进行通信的是Server端的Socket与Client端的Socket,在ServerSocket进行accept后,就将主动权转让给Server端的Socket。
Server端
package com.serversocket.test; import java.io.IOException; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class MyServer { private ServerSocket ss; public static final int port = 8962; public MyServer(){ try{ ss = new ServerSocket(port); } catch(IOException e){ e.printStackTrace(); } } public void setConnection() throws IOException{ Socket s; OutputStream os; try { s = ss.accept(); os = s.getOutputStream(); os.write("hello".getBytes()); os.close(); s.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) throws IOException{ MyServer ms = new MyServer(); ms.setConnection(); } }
Client端
package com.serversocket.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.Socket; import java.net.UnknownHostException; public class MyClient { public static final String IP = "127.0.0.1"; public static int port = 8962; private Socket s; public MyClient(){ try { s = new Socket(IP,port); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void setConnection() throws IOException{ InputStream is; try { is = s.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); System.out.println(br.readLine()); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) throws IOException{ MyClient mc = new MyClient(); mc.setConnection(); } }
来自网络资料
发表评论
-
Java类修饰符总结
2014-10-27 04:00 872java的修饰符有:权限修饰符:public、protecte ... -
Java的参数传递(值传递与引用传递)作为形参传入方法,是否会改变原值?
2014-10-25 15:15 3895public class Hello { public s ... -
Java JDBC调用MySQL的存储过程简单示例
2013-09-30 04:07 716package com.toby.mysql; impo ... -
[转]Hibernate的dynamic-insert dynamic-update和select-before-update
2013-05-16 16:04 1113http://blog.csdn.net/hsuxu/arti ... -
ClassLoader的loadClass方法源码浅析
2012-11-20 15:46 1087protected synchronized Class& ... -
Call stack 与 Stack frame的概念
2012-11-17 16:36 6008Call stack(调用堆栈):调用堆栈是一个方 ... -
查找Proxy链中被代理的target对象 -《Javareflection in action》的例子
2012-11-15 16:37 0xxxxxx -
Class.class.isInstance(Object.class)
2012-11-05 10:43 877Class.class.isInstance(Object ... -
Class.class.isInstance(Class.class)
2012-11-03 17:15 850Class.class.isInstance(Class. ... -
Java关键字native,strictfp,transient,volatile
2012-11-02 15:53 0待续编辑它 -
关于创建JavaBean的小细节
2012-10-15 10:56 840例如创建一个User class 普通模式: sett ... -
Java运算符优先级整理
2012-09-22 16:49 797Java 中共有 54 种运算符,按优先级可以分为 14 级, ... -
DriverManager与DataSource的区别以及JDBC测试代码
2012-09-07 11:56 5519DriverManager与DataSource ... -
float与double的位分配
2012-08-25 17:30 2008摘自网络:http://zhidao.baidu.com/qu ... -
JAVA移位
2012-08-22 10:07 0移位运算符就是在二进 ... -
Java常量和类变量
2012-07-26 12:03 0常量的优点 如果在程序中直接填写数字,程序的可读性将会变差,程 ...
相关推荐
Android中socket通信简单实现 socket通信需要有一个服务器和客户端,可以把同一个APP作为服务器跟客户端,也可以分开成两个APP。 先上个图: ...import java.net.ServerSocket; import java.net.So
聊天套接字Java版本0.1 ... 客户端实用程序TCP / IP和API java.net,可用于类Socket客户端。 请使用API java.net中的实用程序,以及使用ServerSocket类和本地服务对象类创建的类。 使用线程,可以并行处理界面GUI。
import java.net.ServerSocket; import java.net.Socket; public class TCPServer { public static void main(String[] args) { try { ServerSocket socket = new ServerSocket(4444); while (true) { ...
是不是试了很多次都没有达到自己想要的效果呢? 没关系,看到这你就已经有收获了 文章目录一、动图效果展示二、服务端代码(核心)三...import java.net.ServerSocket; import java.net.Socket; import java.util.conc
java.net.ServerSocket ss = new java.net.ServerSocket(9000); java.net.Socket sk = ss.accept(); //DataOutputStream 处理数据 数据的输出流 java.io.OutputStream os = new java.io.DataOutputStream( ...
import java.net.ServerSocket; import java.net.Socket; import java.util.HashMap; import java.util.Map; /** * @author sean * * @since 2009/06/18 * * 1.create serversocket * 2. wait for new ...
前言 这个小型的聊天系统我没有用swt去做出界面出来,因为之前用的32位的,现在换了个环境导致之前的包不能用了,只能以控制台进行信息的交互。...import java.net.ServerSocket; import java.net.Soc
NULL 博文链接:https://201108231856.iteye.com/blog/2034711
import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { try{ ServerSocket serversocket=new ServerSocket(8888); while(true) {...
import java.net.ServerSocket; import java.net.Socket; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax....
第1个异常是 java.net.BindException:Address already in use: JVM_Bind。 该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经...
以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket 是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。...
客户端软件通常使用java.net包中的核心类Socket与服务器的某个端口建立连接,而服务器程序不同于客户机,它需要初始化一个端口进行监听,遇到连接呼叫,才与相应的客户机建立连接。Java.net包的ServerSocket类包含了...
import java.net.ServerSocket; import java.net.Socket; import java.util.Collection; import java.util.Date; import java.util.Hashtable; import java.util.Map; import java.util.Set; public class ...
Socket和ServerSocket类库位于java.net包中。Server Socket用于服务器端,Server Socket通信是建立网络连接时使用的。在 连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个...
在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类java.net.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个...
在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类java.net.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个...
import java.net.ServerSocket; import java.net.Socket; public class Server { public Server() { } public void listen() throws IOException { ServerSocket server = new ServerSocket(8002); ...
java.net包的客户端Socket,服务端ServerSocket; 单线程套接字客户端和服务端的处理; 服务端多线程处理客户端套接字; 带有线程池处理客户端套接字; 不会Socket,有Java基础就能完全理解Socket编程。