使用tcpclient 和 tcpserver控件

qq673081523 2013-10-09 10:36:55
问题1: 使用tcpclient 和 tcpserver控件,怎么让网吧A与网吧B的两个机器连接上哦!

ip 和 port怎么填写哦

在两个局域网中建立一个sockt连接 服务端和客户端的IP,port该怎么填哦! 我没有试过! 谁知道怎么弄吗?
-------------------------

问题2: TcpServer在接收到数据后,只产生一个OnAccept事件。在OnAccept时间响应函数中,我们循环调用ClientSocket参数的Receiveln方法接受数据。让该方法返回空字符串时,意味着连接已经断开。

谁帮我详细解释下ClientSocket参数

啊弟是个新手,求大哥大姐照顾。 真心谢谢了。
...全文
313 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LastAvengers 2013-10-30
  • 打赏
  • 举报
回复
引用 7 楼 qq673081523 的回复:
6楼的兄弟,请问一个问题哈。 为什么非要用一个死循环来读取对方发过来的数据呢? 我想了解下他们之间发送数据,和接收数据的规则。
因为建立连接后他们的数据传递过程没有触发事件,就是说Sever不知道Client有没有发数据给他,只能不断循环检测,Receiveln函数在接受到数据时就会返回; 关于规则……其实我也不懂,我只知道一点点皮毛……建议你去看关于网络编程的书,最好先不要看delphi的……
LastAvengers 2013-10-10
  • 打赏
  • 举报
回复
Sever和Client的Port一定要保持一致,任意的不被系统占用的端口号都行。 IP要填写对方的IP,一般网吧的都是固定的,键入Ipconfig获得IP ClientSocket: TCustomIpClient是Accept事件返回的一个套接字,代表触发这个连接的那个Client的通信套接字,使用 ClientSocket.Sendln可以从服务端返回信息给客户,而使用ClientSocket.Receiven可以获得从客户端发来信息,需要另建一个线程死循环来读取,这是最干脆的做法。
qq673081523 2013-10-10
  • 打赏
  • 举报
回复
6楼的兄弟,请问一个问题哈。 为什么非要用一个死循环来读取对方发过来的数据呢? 我想了解下他们之间发送数据,和接收数据的规则。
qq673081523 2013-10-09
  • 打赏
  • 举报
回复
大哥我上面的情况是 服务器端和客户端各处于不同的局域网中哦! 如果服务端和客户端都填写局域网中的IP好像是不可以建立起连接的吧!
Alex-16888 2013-10-09
  • 打赏
  • 举报
回复
ip当然是填要与之通讯的对象的IP地址,你这种情况填局域网IP,Port填写通讯双方约定的没有被其它程序或服务占用的端口就行. ClientSocket里常用到的也就是发和收了(send/receive),至于要用哪种方法看个人使用习惯或者具体需求了
qq673081523 2013-10-09
  • 打赏
  • 举报
回复
补充一个问题哈: s := ClientSocket.Receiveln; //他的工作规则是什么?
qq673081523 2013-10-09
  • 打赏
  • 举报
回复
能麻烦大哥给我写一个详细的例子吗? 拜托了,这个对我很重要。 万分感谢~~
Alex-16888 2013-10-09
  • 打赏
  • 举报
回复
要么互联网中有固定ip,要么同一个局域网中,才能通讯,不在同一个网段,有很多办法解决比如虚拟局域网之类的手段。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧