黑马程序员技术交流社区
标题:
关于TCP编程的基础问题
[打印本页]
作者:
李东城
时间:
2013-2-15 00:48
标题:
关于TCP编程的基础问题
package sever;
import java.net.*;
import java.net.ServerSocket;
import socket.Tcp;//Tcp类里面有:公共变量port,公共变量socket,无参构造方法Tcp()
public class Sever {
ServerSocket serverSocket = null;
Tcp tcp = new Tcp();// error
try {
serverSocket = new ServerSocket(tcp.port);
tcp.socket = serverSocket.accept();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
serverSocket.close();
} catch (Exception e) {
}
}
}// error
复制代码
error处为提示的编译错误
作者:
李大强
时间:
2013-2-16 11:14
看到你这个问题我可真是晕了,java中到底有没有Tcp这个类啊!
我查遍了文档怎么都没有找到啊?
其实根本就么有Tcp这个类,又何谈构造方法呢!
Tcp只是一个面向连接的可靠地网络传输协议而已,在Socket及ServerSocket编程中将会用到该协议,
但也从来都没有用到你的这种用法啊:Tcp tcp = new Tcp()
在Tcp编程里面客户端的样例如下:
class TcpClient
{
public static void main(String[] args)throws Exception
{
Socket s = new Socket("192.168.1.254",10004);
OutputStream out = s.getOutputStream();
out.write("服务端,你好".getBytes());
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
System.out.println(new String(buf,0,len));
s.close();
}
}
看到没有,这里面根本没有用到Tcp这个类(其实根本都没有),只是上面代码的底层实现用到了Tcp这个网络传输协议而已!
作者:
吴在强
时间:
2013-2-16 16:11
本帖最后由 吴在强 于 2013-2-16 16:13 编辑
没有Tcp这个类,它只是个传输协议,
你可以自己查api文档,文档里的java.net包,都是关于网络传输的类和方法
你的服务器代码应该这么写,如下:
package sever;
import java.net.*;
import java.net.ServerSocket;
import socket.Tcp;//Tcp类里面有:公共变量port,公共变量socket,无参构造方法Tcp()
public class Sever {
ServerSocket serverSocket = null;
Socket socket = null;
//Tcp tcp = new Tcp();// error
try {
serverSocket = new ServerSocket(11000);//这个端口是监听你客户端的那个,这里我随便设了一个
socket = serverSocket.accept();
//获取输入流对象
InputStream in = socket.getInputStream();
//获取输出流对象
OutputStream out = socket.getOutputStream();
//就看你服务端要干什么事情了,你自己写的,下面就不写了
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
serverSocket.close();
} catch (Exception e) {
}
}
}
应该这么写服务端 serverSocket = new ServerSocket(11000);//这个端口是监听你客户端的那个,这里我随便设了一个
socket = serverSocket.accept();
//获取输入流对象
InputStream in = socket.getInputStream();
//获取输出流对象
OutputStream out = socket.getOutputStream();
//就看你服务端要干什么事情了,你自己写的,下面就不写了
你可以用这个运行试试!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2