使用socket编写一个客户端程序,连接服务器的端口8888,建立连接后读取服务器端发来的信息并显示到屏幕上

作者&投稿:廉索 (若有异议请与网页底部的电邮联系)
JAVA 问题,用socket编写一个客户端程序~

给你一个我写的示例,用的是基于TCP的Socket技术,你锻炼一下,改一改,不会改再找我!
客户端:
import java.net.Socket;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class TcpClient {

public static void main(String[] args) throws Exception
{
//创建客户端Socket服务,并且制定主机和duank
Socket s = new Socket("192.168.1.104",10002);//连接固定的主机和端口

//为了发送数据,获取Socket中的输入输出流
OutputStream out = s.getOutputStream();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String line = null;

//读取服务器发过来的数据
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];





while((line = br.readLine())!=null)
{
out.write(line.getBytes());
if("886".equals(line))
break;

int len = in.read(buf);
String content = new String(buf,0,len);
System.out.println("Server:"+content);
}





s.close();

}
}

服务器:
/*
* 需求分析:
* 使用TCP协议,写服务器端。做到服务器能收到客户端的信息,也能向客户端发送信息
* */

package JavaNetProgramming;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class TcpServer {
public static void main(String[] args) throws Exception
{
//建立服务器的Socket服务,并且监听一个端口
ServerSocket ss = new ServerSocket(10002);
Socket s = ss.accept();
InputStream is = s.getInputStream();

//从服务器端向客户端发送数据
OutputStream out = s.getOutputStream();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String line = null;




while(true)
{
//通过accept()方法获得客户端传过来的Socket对象

//System.out.println("getByNanme():"+s.getInetAddress());
System.out.print("getHostAddress():"+s.getInetAddress().getHostAddress());

//获取客户端发过来的数据,就要使用客户端对象的读取流来读取数据

byte[] buf = new byte[1024];
int len = is.read(buf);//把流中数据读到字节数组中
String content = new String(buf,0,len);
System.out.println(" "+content);

if("886".equals(content))
break;
while((line = br.readLine())!=null)
{
out.write(line.getBytes());
break;
}

}





s.close(); //循环内有判断语句,这句话才不出错
ss.close();


}

}

import java.net.*;
import java.io.*;
public class Server {
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server() {
try {
ss = new ServerSocket(8888);
while (true) {
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
String line = in.readLine();
if("hello".equals(line)){
out.println("hello");
out.close();
}
in.close();
socket.close();
}
ss.close();
} catch (IOException e) {
}
}
public static void main(String[] args) {
new Server();
}
}

都做的话也很简单
1.简单服务器端
/*
import java.net.*;
import java.io.*;
*/
ServerSocket server=null;
try {
server=new ServerSocket(8888);
}catch(Exception e){
System.out.println("不能监听:"+e.toString());
}
Socket socket=null;
try {
socket=server.accept();
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter pw=new PrintWriter(socket.getOutputStream());
pw.println("服务器端发来的信息");
pw.flush();
pw.close();
br.close();
}
catch(IOException e){
System.out.println("出错:"+e.toString());
}finally{
try {
if(socket!=null){
socket.close();
server.close();
}
}
catch(IOException e){
e.printStackTrace();
}
}

2.简单客户端
/*
import java.net.*;
import java.io.*;
*/
Socket socket=null;
try {
socket=new Socket("127.0.0.1",8888);
BufferedReader pw = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(pw.readLine());
pw.close();
}catch(Exception e){
e.printStackTrace();
}
finally{
try {
socket.close();
}
catch(IOException e){
e.printStackTrace();
}
}

只是客户端的话很简单
代码如下,"localhost"替换成服务器的IP地址即可

package socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class HelloWorldSocketClient {
public static void main(String[] args) {
try {
// 客户端生成
Socket socket = new Socket("localhost", 8888);
// 输入准备
BufferedReader in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));

// 输出准备
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

// 发送Hello World
out.println("Hello World");
// 从服务端取得的一行信息
System.out.println(in.readLine());

// 关闭
out.close();
in.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

http://zhidao.baidu.com/question/78558011.html

问题是现成的。


websocket实现即时通讯怎么操作?
Copy socket.onmessage = function(event) { var message = event.data;console.log('Received message: ' + message);};关闭连接:使用WebSocket API中的close()方法关闭WebSocket连接。在客户端中,您可以使用以下代码来关闭连接:Copy socket.close();服务器端编写:在服务器端,您...

socket编程为什么要选择AF_INET?
选择 AF_INET 的目的就是使用 IPv4 进行通信。因为 IPv4 使用 32 位地址,相比 IPv6 的 128 位来说,计算更快,便于用于局域网通信。而且 AF_INET 相比 AF_UNIX 更具通用性,因为 Windows 上有 AF_INET 而没有 AF_UNIX。注:AF_INET(又称 PF_INET)是 IPv4 网络协议的套接字类型,AF_...

java是如何实现聊天功能的?
Java可以使用Socket编程实现聊天功能。Socket是一种网络通信协议,它可以在不同的主机之间传输数据。在聊天功能中,一般有客户端和服务器两个角色。客户端是发送消息的一方,它需要创建一个Socket对象,指定要连接的服务器的IP地址和端口号。然后,客户端通过Socket对象的输入输出流向服务器发送和接收消息。在...

求一个用java socket编写的聊天室程序,能运行的附带源码,有客户端和服...
也不知道怎么说怎么用,我写的代码,很久了,用的是awt,感觉Java在应用程序上没前景所以就没在深入了……现在主攻J2ee,代码给你,你自己感觉吧 服务端:import java.io.*;import java.net.*;import java.util.*;public class ChatServer { boolean started = false;ServerSocket ss = null;List<...

java socket网络编程
import java.net.Socket;import java.net.UnknownHostException;public class Client { public static void main(String[] args) throws UnknownHostException, IOException { System.out.println("输入三角形的三边并用逗号隔开,如: (3,4,5) ");byte[] buff=new byte[64];int r = System.in.read(...

谁能给个Mac 下使用socket 进行UDP 收发数据的源码
UDP Server程序 1、编写UDP Server程序的步骤 (1)使用socket()来建立一个UDP socket,第二个参数为SOCK_DGRAM。(2)初始化sockaddr_in结构的变量,并赋值。sockaddr_in结构定义:struct sockaddr_in { uint8_t sin_len;sa_family_t sin_family;in_port_t sin_port;struct in_addr sin_addr;char...

关于socket编程问题,100分急求
1、首先若大量包裹是一起发的,完全不用操心这个问题,客户端发完包时会close链接,此时会发一个FIN信息表示已经发送完毕,这时服务器会自动收到FIN信息知道客户端完成发包完成了。而这些操作都是在socket api级别完成的,不用额外发一个EOF标志。2、客户端包大于服务器缓冲区,这也不是你操心的,api...

vc++6 怎么编写SOCKET的服务器和客户端 最好都具体步骤
1.简单服务器\/\/#include\/\/#pragmacomment(lib,"WS2_32.lib")WSADATAwsd;staticUINTport=%%1;UINTListen(LPVOIDpParam){SOCKETsServer,sClient;charbuf[1024];intretVal;if(WSAStartup(MAKEWORD(2,2),&wsd)!=0){return-1;\/\/失败}sServer=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(INVALID_...

VS2012中,编写socket,需要改变recfrom的大小,里面也定义了,setsockpt...
如果消息太大,无法完整存放在所提供的缓冲区,根据不同的套接字,多余的字节会丢弃。 假如套接字上没有消息可以读取,除了套接字已被设置为非阻塞模式,否则接收调用会等待消息的到来。用法:include <sys\/types.h> #include <sys\/socket.h> ssize_t recv(int sock, void *buf, size_t len, ...

用本机socket编写服务器和客户端,并在本机上测试的时候,服务器的ip地...
本机你可以写成 "127.0.0.1"或者"localhost",如果是安卓本机就是"10.0.2.2"端口随便你写,只要系统不冲突就行。

徐水县15643102551: JAVA 问题,用socket编写一个客户端程序 -
漳维消炎: 给你一个我写的示例,用的是基于TCP的Socket技术,你锻炼一下,改一改,不会改再找我!客户端:import java.net.Socket; import java.io.InputStream; import java.io.OutputStream; import java.io.InputStreamReader; import java.io....

徐水县15643102551: 谁能写一段最简单的socket服务器端和客户端程序 -
漳维消炎: //=======================================UDPServer.c====== #include <sys/types.h> #include <sys/socket.h> #include <string.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <arpa/inet.h> #include <unistd.h> ...

徐水县15643102551: 谁能用C语言写个最简单socket通信服务端和客户端示例 -
漳维消炎: 网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符.Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的.下面用Socket实现一个windows下的c语言socket通信例子,这里我们客户端传递一个字符串,服务器端进行接收.【服务器端】#include "stdafx.h"#include <stdio.h>#include <winsock2.h>#include <winsock2.h>#define SERVER_PORT 5208 //侦听端口 void main()

徐水县15643102551: java中的socket编程是作什么的 -
漳维消炎: Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的Socket编程,并且如何写一个客户端/服务器程...

徐水县15643102551: 如何编写一个利用Socket通信的程序? -
漳维消炎: 设计思路 本例包括一个服务器端程序和一个客户端程序.客户端程序可以放到多个计算机上运行,同时与服务器端进行连接通信. 本例的重点,一是演示客户端与服务器端如何通信;二是当有多个客户端同时连接到服务器端时,服务器端如何...

徐水县15643102551: 采用tcp协议,使用socket编程,编写程序完成客户端发送消息给服务端,服务端接到消息后,再发 -
漳维消炎: 服务端代码: /*server.c*/ #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <unistd.h> #include <netinet/in.h> #define PORT 4321 #define BUFFER_SIZE 1024...

徐水县15643102551: SOCKET编程实现服务器端的步骤是什么? -
漳维消炎: Java版本 1.编写服务器端,实例化ServerSocket对象,这里要定义ip和端口,实例化Socket,从ServerSocket对象中accept() 获取,这里要涉及到流,输入输出流在Socket中获取 2.编写客户端,实例化Socket对象,ip,端口,流,在Socket中获取 如果想要具体代码,就留言,有空发给你

徐水县15643102551: 用java socket 写一个简单的 聊天 客户端与服务器端之间 都能实现 一个不 -
漳维消炎: 客户端代码:package net; import java.net.*; import java.io.*; public class socketclient { public static void main(String[] args) { Socket s = null; InputStream is = null; DataInputStream d = null; OutputStream os = null; DataOutputStream ds = null; try { s ...

徐水县15643102551: 使用Socket来编写C/S结构的的程序,实现客户器端发送“你好!服务器端接收,同时,服务器端返回“你好!客 -
漳维消炎: 下面这个是服务器端import java.net.*;import java.io.*;public class SocketTest { public static void main(String[] args) throws Exception{ //boolean isquit=true; InputStream is; OutputStream os; byte [] buf = new byte[20]; String str; ServerSocket ss = ...

徐水县15643102551: 用Java 的socket实现客户端的功能 -
漳维消炎: //服务端程序:import java.io.*; import java.net.*; public class TCPServer { public static void main(String[] args) throws IOException { new TCPServer().init(); } @SuppressWarnings("static-access") private void init() throws IOException{ @...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网