利用java在服务器和客服端建立连接,进行通讯(代码实例)
客服端代码:有注释
package javanet;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class demo2client {
public static void main(String[] args) {
//服务器的Ip地址和服务器所使用的端口号
String host = "localhost";
int port=20000;
try {
P("客服端启动,说点什么给服务器");
Socket socket = new Socket(host,port);
Scanner in = new Scanner(System.in);
String str = in.nextLine();
//构建一个输出流,发送数据到服务器
OutputStream os = socket.getOutputStream();
//os.write(str.getBytes());
//PrintWriter自带缓冲,这个可以实时传输
PrintWriter Print = new PrintWriter(os);
Print.println(str);
Print.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void P(String s){
System.out.println(s);
}
}
服务器段代码 有注释
package javanet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class demo2 {
public static void main(String[] args) {
/*
* socket一共有65535个端口号,指的是程序在socket中获取数据的标识,从1-65535,
* 端口范围 1-1024位系统保留端口,不能使用
* eg 80 网络传输端口 115邮箱发送端口 8080tomcat服务端口 1158oracle服务端口1521oracle远程登录监听端口
* 1433mysqlserver登录端口 很多重要的的程序已经在占用了 27 重要传输端口 900
* 程序通常能够使用的端口在20000-50000之间, 30000个端口足够你用,一个程序最多用3个而已
*
*/
int port=20000;
try {//服务器套接字
ServerSocket ss= new ServerSocket(port);
P("服务器已经启动");
Socket socket =ss.accept();//服务器套接字等待一个客服端socket连入,如果连接成功的话,就会创建一个套接字,不然在这里一直等待
P("已经接受");
//构建输入流,获取客服端发送的数据
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str = null;
if ((str=br.readLine())!=null){
P("客服端说:"+str);//打印
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void P(String s){
System.out.println(s);
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
利用java在服务器和客服端建立连接,进行通讯(代码实例)的更多相关文章
- Python网络编程UDP服务器与客服端简单例子
[转载] https://blog.csdn.net/hu330459076/article/details/7868028 UDP服务器代码: #!/usr/bin/env python # -*- ...
- 浏览器与服务器间的交互(客服端 <---> 服务器)
浏览器与服务器间的交互(客服端 <---> 服务器) 请求--->处理--->响应 对类HttpContext 内部成员的使用 例如 :Request .Response . ...
- java UDP 通信:服务端与客服端
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import j ...
- C# 向服务器上传文件(客服端winform、服务端web)
转载 首先写客服端,winform模拟一个post提交: /// <summary> /// 将本地文件上传到指定的服务器(HttpWebRequest方法) /// </summa ...
- Java 获取客服端ip地址
Java 获取客服端ip地址 /** * <html> * <body> * <P> Copyright 1994 JsonInternational</p& ...
- TCP服务器端和客服端(一)
就是一个客服端(Socket)和服务器(ServerSocket)端的链接间.我的理解是一个服务端可以链接多个客服端. 在客服端有输入流outPutStream. 用于发送数据 在服务器端有输出流.i ...
- android客服端+eps8266+单片机+路由器之远程控制系统
用android客服端+eps8266+单片机+路由器做了一个远程控制的系统,因为自己是在实验室里,所以把实验室的门,灯做成了远程控制的. 控制距离有多远------只能说很远很远,只要你手机能上网的 ...
- Live555 分析(三):客服端
live555的客服端流程:建立任务计划对象--建立环境对象--处理用户输入的参数(RTSP地址)--创建RTSPClient实例--发出DESCRIBE--发出SETUP--发出PLAY--进入Lo ...
- cas 服务端、客服端详细配置
一.准备 1.下载官方源码 CAS-Server下载地址:https://www.apereo.org/projects/cas/download-cas CAS-Client下载地址:http:// ...
随机推荐
- 深入理解JVM:JVM执行时数据区域分类
JVM在运行java程序的过程中会把他所管理的内存划分为若干个不同的数据区域. 这些区域都有各自的用途和创建.销毁时间.有些区域随着虚拟机的启动而存在.有些区域则依赖用户线程的启动和结束而建立和销毁. ...
- ios -- 极光推送《1》
昨天公司项目要加入远程推送功能,自己做显然会很麻烦,所以用了极光的远程推送,下面我会讲如何制作推送证书并使用极光推送进行远程推送. 先讲讲怎么下载推送证书吧(前面的很简单要是知道的可以直接往下滑,简书 ...
- 【C#图解】PictureBox.SizeMode 属性(转)
PictureBoxSizeMode.Normal: 默认情况下,在 Normal 模式中,Image 置于 PictureBox 的左上角,凡是因过大而不适合 PictureBox 的任何图像部分都 ...
- 限制线程数 Limit the number of threads started by colly 随机延迟
random delay | Colly http://go-colly.org/docs/examples/random_delay/
- squared-error loss is much more repaidly updated than mean-absolute-deviation when searching for splits
平方差损失能较绝对值差损失更快地更新
- tcp/ip (网络通讯协议)
介绍 TCP: 传输控制协议, IP: 网际协议, TCP/IP: 供已连接互联网的计算机之间进行通信的通信协议 在tcp/ip内部 , 包含一系列处理数据通信的协议: tcp.udp.icmp.dh ...
- 模拟登陆,selenium,线程池
一 . 模拟登陆案例(识别验证码) 1 . 打码平台 - 云打码 : www.yundama.com 使用步骤 : - 注册两个账户,普通用户和开发者用户 : - 登陆 普通用户查看余额 登陆开发 ...
- perl之创建临时文件夹遇到同名文件该咋办
当你在目录下进行一系列操作时,若要创建许多文件或者修改文件,可能会遇到许多麻烦的事.所以呢,新建一个文件夹,然后在这个文件夹下新建文件或者修改文件.假设,你的代码要在一个目录下新建一个文件夹,名为Tm ...
- 《程序员代码面试指南》第八章 数组和矩阵问题 打印N 个数组整体最大的Top K
题目 打印N 个数组整体最大的Top K java代码 package com.lizhouwei.chapter8; /** * @Description: 打印N 个数组整体最大的Top K * ...
- error:Flash Download failed-“Cortex-M3”,“Programming Algorithm”【转】
本文转载自:http://www.yfrobot.com/thread-11763-1-1.html 最近安装了KEIL5,在使用KEIL5和JLIN实现在线调试功能时,一定会在Utilities选项 ...